Перенос 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 и управления питанием в драйвере на основе платформы см. в следующих разделах: