Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если запрос IRP_MN_QUERY_REMOVE_DEVICE завершается ошибкой, диспетчер PnP отправляет IRP_MN_CANCEL_REMOVE_DEVICE IRP драйверам устройства. После успешного завершения удаления-отмены IRP диспетчер PnP вызывает все процедуры обратного вызова уведомлений, зарегистрированные для EventCategoryTargetDeviceChange на устройстве. Диспетчер PnP задает структуру уведомления . СобытиеGUID_TARGET_DEVICE_REMOVE_CANCELLED.
При обработке события GUID_TARGET_DEVICE_REMOVE_CANCELLED подпрограмма обратного вызова уведомлений должна:
Повторная регистрация для уведомления целевого устройства.
Так как драйвер закрыл предыдущий дескриптор регистрации в ответ на уведомление об удалении запроса, драйвер должен открыть новый дескриптор. Драйвер должен:
Удалите старую регистрацию с помощью IoUnregisterPlugPlayNotification.
Откройте новый дескриптор устройства.
Повторно зарегистрируйтесь для получения уведомлений о новом дескрипторе с помощью IoRegisterPlugPlayNotification.