Re[5]: Отмена UnloadRoutine
От: straightener Россия  
Дата: 08.09.06 11:49
Оценка:
Здравствуйте, Геннадий Майко, Вы писали:

ГМ>Строго говоря, рассматривая только выгрузку драйвера, Вы, скорее всего, правы — для некоторых OS (но не для всех!) возможна ситуация, когда IRP_MN_QUERY_STOP_DEVICE не обязан предшествовать IRP_MN_QUERY_REMOVE_DEVICE.

Да, в 98/Me pnp менеджер работает по другому, IRP_MN_STOP_DEVICE используется для выключения устройства. Но и там IRP_MN_QUERY_STOP_DEVICE не обязан идти перед IRP_MN_QUERY_REMOVE_DEVICE. Не поручусь только за Висту, но на остальных нет связи между остановкой и выключением...

ГМ>(Но тогда Вам стоило указать так же и на DIF_PROPERTYCHANGE...) .

Да и вообще на идею с коинстолером. Девайс может оказаться в чьем-нибудь списке ремувал релейшенов. Про то, что он автоматически входит в такой список для родительского девайса я вообще молчу И не получит коинстолер в этом случае нифига...

ГМ>Я хотел подчеркнуть, что если драйвер по каким-то причинам нельзя выгружать, то и останавливать его так же, наверное, не стоит.

В принципе согласен. Но остановка — простая, обычно кратковременная, пауза зачастую совершенно не критична. Все зависит от конкретного девайса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.