начало работы с UMDF

В этом разделе описывается инфраструктура драйверов (UMDF) User-Mode и приведены различия между UMDF версии 1 и 2. Он также предоставляет высокоуровневые сведения о архитектуре UMDF. Используйте этот раздел, чтобы определить, правильный ли драйвер UMDF подходит для ваших потребностей, и определить, какую версию UMDF использовать.

платформы драйверов Windows (вдф) содержат UMDF, платформу для создания драйверов пользовательского режима. как и в Kernel-Mode Framework (кмдф), UMDF обеспечивает уровень абстракции из WDM, обрабатывая большую часть функций Plug and Play (PnP) и управления питанием и позволяя драйверу выбрать конкретную функциональность и обработку событий.

в Windows 8.1, существует две основные версии UMDF, версии 1 и 2. UMDF версии 1,11 (одна точка одиннадцать) — самая последняя версия UMDF версии 1, а — финальная версия до появления UMDF 2. Таблицу, в которой показаны полные сведения о версии и соответствие операционных систем, см. в статье Журнал версий UMDF.

Написание драйвера с помощью UMDF версии 1 требует использования модели программирования COM для написания кода C++. Хотя UMDF версии 2 основан на той же модели программирования концептуального драйвера, что и КМДФ, UMDF 1 реализует модель с различными компонентами, интерфейсами драйверов устройств (ДДИС) и структурами данных.

В противоположность этому, начиная с UMDF версии 2, можно написать драйвер UMDF на языке программирования C, который вызывает многие методы, доступные для драйверов КМДФ. Все интерфейсы, которые являются общими для UMDF версии 2 и КМДФ, имеют одинаковые имена, параметры и определения структур. Если драйвер использует только общие функциональные возможности или использует условные макросы для вызовов, которые поддерживаются только в одной платформе, можно написать один драйвер, который можно скомпилировать с помощью UMDF или КМДФ. Дополнительные сведения см. в статье Создание драйвера UMDF из драйвера кмдф.

Хотя существует значительное соответствие между UMDF 2 и КМДФ, по-прежнему существует небольшой объем функциональных возможностей, доступных только в одной платформе или в другой. Конкретные сведения см. в разделе Сравнение функций UMDF 2 с кмдф. Список всех обратных вызовов и методов UMDF 2 и КМДФ, а также платформ, к которым они применяются, см. в разделе Сводка по обратным вызовам ВДФ и методам. В некоторых случаях член структуры или параметр метода применяются только к одной или другой платформе. В документации описаны эти различия на соответствующих справочных страницах.

Необходимо выбрать один или другой. нельзя написать драйвер UMDF, который вызывает методы обеих версий UMDF 1 и 2.

драйверы UMDF версии 2 выполняются только в Windows 8.1 или более поздней версии. если вам нужно написать драйвер umdf, работающий в операционных системах, предшествующих Windows 8.1, необходимо написать драйвер umdf 1. x. вы можете использовать версию 1,11 для сборки драйверов, которые выполняются в Windows Vista и более поздних версиях. Дополнительные сведения о версии 1 см. в разделе руководство по проектированию UMDF 1. x. В этом разделе описывается UMDF версии 2.