Господа, возникла проблема с коректной загрузкой/выгрузкой USB фильтра.
Нужно написать драйвер-фильтр для всех вновь вставляемых устройств (заранее их количество не известно).
Пример драйвера-фильра, который рассматривается в DDK XP привязывается с помощью inf файла к конкретному устройству и за загрузку этого драйвера отвечает PnP. Но как быть когда не известно какое устройство будет загружено, а тем более количество этих устройств? Появилась идея использовать IoRegisterPlugPlayNotification
для отслеживания вновь прибывших устройств, но возникает проблема как правильно выгружать этот драйвер при необходимости. Так как checked build изрядно матюкается, когда я по извещению GUID_DEVICE_INTERFACE_REMOVAL пытаюсь удалить ранее приатаченное мной устройство. Может есть более правильный способ отслеживания появления этих устройств?
PS: так получается, что с получением извещения GUID_DEVICE_INTERFACE_ARRIVAL (IoRegisterPlugPlayNotification) оказывается, что к PDO драйвера usbhub.sys уже приатачилось устройство клиентского драйвера, а это значит что в стеке при всем желании мы будем находтся над ним
А если нужно под ним? Наверное это невозможно?
Жду с нетерпением любой ответ, с уваждением Yaroslav Chupriy.
e-mail: Yarilo_@mail.ru