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


Обработка событий изменения профиля оборудования

В определенное время во время изменения профиля оборудования диспетчер PnP вызывает подпрограммы обратного вызова уведомлений, зарегистрированные для EventCategoryHardwareProfileChange:

  • Перед изменением профиля оборудования компьютера диспетчер PnP вызывает зарегистрированные процедуры обратного вызова уведомлений и задает NotificationStructure. Событие GUID_HWPROFILE_QUERY_CHANGE.

  • После изменения профиля оборудования компьютера диспетчер PnP вызывает процедуры обратного вызова зарегистрированных уведомлений и задает NotificationStructure. Событие GUID_HWPROFILE_CHANGE_COMPLETE.

  • Если изменение профиля оборудования компьютера отменено, диспетчер PnP вызывает процедуры обратного вызова зарегистрированных уведомлений и задает NotificationStructure. Событие GUID_HWPROFILE_CHANGE_CANCELLED.

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

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

Для события GUID_HWPROFILE_CHANGE_CANCELLED диспетчер PnP вызывает подпрограммы обратного вызова в режиме ядра, а затем подпрограммы пользовательского режима. В ответ на такое событие процедура обратного вызова драйвера обычно просто возвращает STATUS_SUCCESS. Если драйвер выполнял какие-либо операции в ответ на событие GUID_HWPROFILE_QUERY_CHANGE, драйвер отменяет эти операции в ответ на событие отмены.