Сравнение функциональных возможностей 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

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

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

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

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

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

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

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

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