Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Диспетчер PnP использует этот IRP, чтобы указать драйверам удалить программную репрезентацию устройства (объектов устройства и т. д.). Диспетчер PnP отправляет этот протокол IRP, когда устройство было удалено в упорядоченном режиме (например, инициированное пользователем в программе unplug или Eject Hardware), неожиданно (пользователь извлекает устройство из своего слота без предварительного предупреждения), или когда пользователь запрашивает обновление драйверов.
В системах Windows 2000 и более поздних версий диспетчер PnP отправляет этот IRP, когда диспетчер устройств отключает устройство. На Windows 98/Me диспетчер PnP вместо этого отправляет IRP-запросы остановки. Дополнительные сведения см. в разделе "Остановка устройства ".
Диспетчер PnP выполняет следующие действия перед отправкой этого IRP драйверам для устройства:
Отправляет запросы IRP_MN_REMOVE_DEVICE дочерним устройствам, если они существуют.
Уведомляет все компоненты пользовательского режима и драйверы режима ядра, зарегистрированные для уведомления об удалении устройства. Диспетчер PnP вызывает все компоненты пользовательского режима, зарегистрированные для уведомления целевого устройства на дескрипторе устройства, и вызывает все драйверы режима ядра, зарегистрированные для EventCategoryTargetDeviceChange.
(В системах Windows 2000 и более поздних версий) Если файловая система подключена к устройству, диспетчер PnP отправляет запрос на удаление файловой системы и любых фильтров файловой системы. В ответ на это файловая система обычно отключает том.
Верхний драйвер в стеке устройств обрабатывает удаление IRP и передает его следующему нижнему драйверу. Родительский драйвер шины для устройства является последним драйвером для выполнения операций удаления устройства. Драйвер обрабатывает удаленные IRP в процедуре DispatchPnP.
Прежде чем драйвер успешно обрабатывает запрос IRP_MN_REMOVE_DEVICE, он должен убедиться, что все ресурсы для устройства освобождены. Этот IRP может быть последним вызовом перед выгрузкой драйвера.
Удаление одного устройства может создать необходимость удаления ряда других устройств. Диспетчер PnP координирует удаление дополнительных объектов устройства с верхнего уровня до уровня корневого устройства.
В этом разделе описано:
Удаление устройства в драйвере функции