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

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

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

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

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

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