я имел в виду что при перезагрузке сброс же происходит один раз.
Ну это я неточно выразился.
Прикладной софт должен иметь возможность сбрасывать плату неограниченное количество раз без перезагрузки ПК.
а если IRP_MN_SURPRISE_REMOVAL обработать? кто BSOD вызывал, драйвер устройства или драйвер шины одного единственного ПК?
Пробовал делать обработку IRP_MN_SURPRISE_REMOVAL - не помогло.
Максимум чего тогда (без фильтра) добился это в IRP_MN_QUERY_CAPABILITIES ставил "Removable" и "SurpriseRemovalOK".
При этом появлялась иконка в трее (наподобие извлечения флешки). Если т. о. через неё выгрузить драйвер, то можно один раз "безопасно" сбросить плату через кнопку сброса (эта кнопка расположена на самой плате). При повторном нажатии (равно как и при первом нажатии без подобной подготовки) ловится BSoD.
Но после такого сброса драйвер уже не загружается. Система ждёт, что плата исчезнет физически (но такой эксперимент чё-то не хочется проводить).
Видимо нужно было "Политику удаления" поменять с "1" на "3" (как у флешки). Но как это сделать я не нашёл.
А вот через фильтр вроде бы нормально сбрасывается.
BSoD вызывал точно не драйвер устройства, а вот кто именно - не особо понятно.
Собственно BSoD: 0x124: WHEA_UNCORRECTABLE_ERROR.
Рабочая гипотеза, что на плате присутствует аппаратный модуль, который бдит за состоянием устройств и в случае чего оповещает об этом ОС...