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


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

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

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

Важно!

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

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

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

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

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

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

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