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


Обработка событий Plug and Play и управления питанием

Когда происходит событие Plug and Play (PnP) или Power Management (PM), платформа драйвера пользовательского режима (UMDF) вызывает один или несколько методов в классе CDevice для обработки события. (Класс CDevice определен в файле Device.cpp.) Обработчики событий находятся в трех интерфейсах: IPnpCallback, IPnpCallbackHardwareи IPnpCallbackSelfManagedIo.

В примере WpdHelloWorldDriver большинство обработчиков событий PnP и PM либо не возвращают значение, либо возвращают S_OK. Существует два исключения: IPnpCallbackHardware::OnPrepareHardwareи IPnPCallbackHardware::OnReleaseHardware. В следующей таблице описан каждый метод.

IPnpCallbackHardware::OnPrepareHardware: вызывает метод WpdBaseDriver::Initialize. Инициализирует расширение класса WPD и обновляет понятное для устройства имя.

IPnPCallbackHardware::OnReleaseHardware: вызывает метод WpdBaseDriver::Uninitialize и деинициализирует расширение класса WPD.

Описание каждого интерфейса и его методов см. в документации UMDF..


примеры драйверов WPD