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


Сравнение функций UMDF 2 с KMDF

В этом разделе сравниваются функциональные возможности, доступные для драйвера Kernel-Mode Driver Framework (KMDF), с тем, что доступно для драйвера User-Mode Driver Framework (UMDF) 2. Он предназначен для решения того, следует ли писать драйвер UMDF 2 или драйвер KMDF.

Хотя UMDF версии 2 предоставляет значительное подмножество функций, которые ранее были доступны только драйверам KMDF, следующие функции доступны только драйверам KMDF. Если драйверу требуется одна из этих функций, необходимо написать драйвер KMDF.

Функция Связанные сведения
Прямой доступ к памяти (DMA) обработка операций DMA в драйверах KMDF
Перечисление шины Перечисление устройств на шине
Функциональные состояния питания (ограниченная поддержка доступна в UMDF) Поддержка функциональных состояний питания
Доступ к объектам WDM и IRP Получение сведений о WDM
Ни буферизованного ввода-вывода, ни прямого ввода-вывода

доступ к буферам данных в драйверах WDF

перехват запроса на ввод-вывод перед его постановкой в очередь

Внутренние запросы на управление устройствами (IOCTLs)

Синхронная отправка запросов ввода-вывода

асинхронная отправка запросов ввода-вывода

Удаление блокировки для запросов ввода-вывода WdfDeviceInitSetRemoveLockOptions
WMI Общие сведения о WMI для драйверов KMDF

Если драйверу не требуется любой из указанных выше вариантов, можно написать драйвер UMDF 2 вместо использования KMDF. Так как две платформы используют множество интерфейсов, вы можете преобразовать драйвер в KMDF позже, если возникнет необходимость. Сведения о том, почему вы можете выбрать UMDF, см. в разделе Преимущества написания драйверов UMDF.

Дополнительные сведения об объектах фреймворка и тех, которые поддерживаются KMDF и UMDF, см. в Сводке объектов фреймворка.

В таблице, в которой показаны все обратные вызовы и методы Windows Driver Framework (WDF) и их применимость в рамках платформы, см. Сводка по обратным вызовам и методам WDF.