Правило PnpSurpriseRemove (wdm)
Правило PnpSurpriseRemove указывает, что драйвер не вызывает IoDeleteDevice или IoDetachDevice при обработке запроса IRP_MN_SURPRISE_REMOVAL.
Диспетчер PnP отправляет запрос IRP_MN_SURPRISE_REMOVAL, чтобы уведомить драйверы о том, что устройство больше не доступно для операций ввода-вывода и что оно, вероятно, было неожиданно удалено с компьютера.
- Все драйверы PnP должны обрабатывать запросы IRP_MN_SURPRISE_REMOVAL.
- Драйвер не должен вызывать IoDeleteDevice или IoDetachDevice на объектах устройств до тех пор, пока IRP_MN_SURPRISE_REMOVAL IRP не будет закрыт и все открытые дескрипторы устройства закрыты.
- Затем диспетчер PnP отправляет запрос IRP_MN_REMOVE_DEVICE в стек устройств. В ответ на удаление IRP драйверы отсоединяют объекты устройства от стека и удаляют их.
Дополнительные сведения о том, как драйвер должен отвечать на запрос IRP_MN_SURPRISE_REMOVAL, см. в разделе Обработка IRP_MN_SURPRISE_REMOVAL запроса
модель драйвера : WDM
Тестирование
Во время компиляции |
---|
Запустите средство проверки статического драйвера и укажите правило PnpSurpriseRemove. Чтобы выполнить анализ кода, выполните следующие действия.
Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применимо к
См. также
обработкаIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE запроса IRP_MN_SURPRISE_REMOVAL