Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Вот еще что стоит выяснить 03.03.05 13:37 Число просмотров: 2086
Автор: leo <Леонид Юрьев> Статус: Elderman Отредактировано 03.03.05 13:40 Количество правок: 1
|
Конкретный драйвер (sys-файл) может обслуживать несколько устройств, обслуживать несколько устройств разных классов, быть фильтром для типа устройств (с одним HARDWARE_ID) и при этом обслуживать устройства других классов.
Я не проверял, но нет причин чтобы один драйвер не мог быть фильтром для нескольких конктерных разных устройств, или одновременно upper- и lower-фильтром.
Но, например, один драйвер не может быть мини-портом (например ndis) и полноценным драйвером или фильтром, поскольку RegisterMiniport модифицирует dispatсh-таблицу адресов функций. Это можно обойти, но сейчас речь не об этом.
К чему все это.. - может быть один драйвер не может быть одновременно фильтром для двух разных классов устройств, может это просто не предусмотрено в логике работы pnp-менеджера (и еже с ним) при "сборке" стека драйверов?
Это IMHO нужно выяснить, потому что правильнее и логичнее ставить драйвер как описал amirul - фильтром для класса, а не как фильтр для конкретного устройства. Иначе "блокировка" обходится подключением еще одной usb-мыши или клавиатуры.
Теперь про ServiceCallback, я никогда его не использовал и кажется даже не читал доку. Но, если подумать, то причина того, что работает (как я понимаю) только одна часть драйвера из двух скорее всего в том, что установка второго Callback-а "убивает" первый. Может все тоже сведется к тому, что модифицируется dispatсh-таблица драйвера?
|
|
|