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


Перенос PnP и управление питанием

WDF реализует интеллектуальные значения по умолчанию для Plug and Play (PnP) и управления питанием, поэтому для простых драйверов (включая большинство драйверов фильтров) не требуется дополнительный код для удовлетворения основных требований к PnP. Платформа автоматически создает конечные машины PnP, управления питанием и политики управления питанием и управляет ими. По умолчанию:

  • FDO владеет политикой питания для устройства.
  • Требуется только обратный вызов EvtDriverDeviceAdd ; все остальные обратные вызовы PnP и управления питанием являются необязательными. Драйвер реализует другие обратные вызовы для поддержки функций, относящихся к устройству.
  • Платформа реализует управление питанием для всех объектов WDFQUEUE, чтобы по умолчанию запросы отправлялись из очереди в обратные вызовы событий ввода-вывода драйвера только при наличии оборудования устройства (то есть в состоянии D0).

Если устройство не поддерживает прерывания или память карты либо требует инициализации или деинициализации при переходе на питание, драйверУ WDF требуется только обратный вызов EvtDriverDeviceAdd . При вставке или удалении устройства платформа вызывает PnP и обратные вызовы событий питания в определенном порядке. В разделах этого раздела описывается порядок, который немного отличается для PDO, FDOs и dOs фильтра:

Полный список обратных вызовов, соответствующих каждому дополнительному коду PnP и power IRP, см. в разделе WDM IRP и функции обратного вызова событий WDF.

Дополнительные сведения о поддержке PnP и управления питанием в драйвере на основе платформы см. в следующих разделах: