Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем диспетчер PnP отправляет IRP_MN_REMOVE_DEVICE IRP драйверам для устройства, диспетчер PnP вызывает все подпрограммы обратного вызова в режиме ядра, зарегистрированные для EventCategoryTargetDeviceChange на устройстве. Диспетчер PnP определяет структуру NotificationStructure и событие GUID_TARGET_DEVICE_REMOVE_COMPLETE.
При обработке события GUID_TARGET_DEVICE_REMOVE_COMPLETE подпрограмма обратного вызова уведомлений должна:
Удалите регистрацию уведомлений на устройстве.
Устройство было удалено, поэтому драйвер вызывает IoUnregisterPlugPlayNotification , чтобы удалить регистрацию уведомлений.
Устройство по-прежнему может быть физически присутствует на компьютере, но все объекты устройства были удалены, и устройство недоступно для использования.
Выполните обработку при внезапном удалении, если драйвер не получил предварительное уведомление о запросе на удаление.
Если устройство внезапно удалено, диспетчер PnP отправляет зарегистрированным драйверам уведомление об удалении без предварительного уведомления о запросе на удаление. В этом случае драйвер должен выполнить все необходимые действия по очистке, например закрыть все дескрипторы на устройстве и удалить все открытые ссылки на объект файла.