Поделиться через


Использование уведомления об изменении целевого устройства PnP

Драйвер регистрирует уведомление EventCategoryTargetDeviceChange на устройстве, чтобы драйвер можно было уведомить, когда устройство будет удалено. Например, если драйвер открывает дескриптор устройства, он должен зарегистрироваться на получение уведомлений категории EventCategoryTargetDeviceChange, чтобы закрыть дескриптор, когда диспетчер PnP требует удаления устройства.

Драйверы также могут использовать уведомление EventCategoryTargetDeviceChange для создания пользовательских уведомлений. (См. использование пользовательского уведомления PnP .)

Это важно

Регистрация уведомлений об изменении целевого устройства PnP не предназначена для уведомления прослушивателей об изменениях состояния питания целевого устройства. Если драйверу необходимо знать об изменении питания целевого устройства, драйвер должен вместо этого определить отношение питания между устройствами.

Чтобы определить энергетическое отношение, драйвер вызывает IoInvalidateDeviceRelations с параметром Type, установленным значением PowerRelations, а затем отвечает на запрос диспетчера PnP IRP_MN_QUERY_DEVICE_RELATIONS на PowerRelations с правильной информацией.

В следующих подразделах рассматривается регистрация уведомлений об изменении целевого устройства и обработка событий изменения целевого устройства в подпрограмме обратного вызова уведомлений PnP.

Регистрация для уведомления о смене целевого устройства

Обработка события GUID_TARGET_DEVICE_QUERY_REMOVE

Обработка события GUID_TARGET_DEVICE_REMOVE_COMPLETE

Обработка события GUID_TARGET_DEVICE_REMOVE_CANCELLED