Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе перечислены версии User-Mode Driver Framework (UMDF), соответствующие версии операционной системы Windows и изменения, внесенные в каждом выпуске.
В следующей таблице показана история выпуска библиотеки UMDF. Вы можете использовать В этой статье боковой панели справа, чтобы быстро перейти к определенной версии.
Версия UMDF | Первый выпуск | Включен в | Драйверы, использующие эту версию UMDF, работают на |
---|---|---|---|
2.33 | Windows 11, версия 21H2 WDK; WDK для Windows Server 2022 | Windows 11 версии 24H2; Windows 11, версия 23H2; Windows 11 версии 22H2; Windows 11, версия 21H2; Windows Server 2022 | Windows 11, версия 21H2 и более поздние версии; Windows Server 2022 и более поздних версий |
2.31 | Windows 10 версии 2004 WDK | Windows 10 версии 2004 (обновление за май 2020 г., Vibranium) | Windows 10 версии 2004 и более поздних версий |
2.29 | Не выпущено в WDK | Windows 10 версии 1903 (обновление за март 2019 г., 19H1) | Windows 10, версия 1903 и более поздние версии |
2.27 | Windows 10 версии 1809 WDK | Windows 10 версии 1809 (обновление за октябрь 2018 г., Redstone 5) | Windows 10, версия 1809 и более поздние версии |
2,25 | Windows 10 версии 1803 WDK | Windows 10 версии 1803 (обновление за апрель 2018 г., Redstone 4) | Windows 10 версии 1803 и выше |
2,23 | Windows 10 версии 1709 WDK | Windows 10 версии 1709 (Fall Creators Update, Redstone 3) | Windows 10 версии 1709 и более поздних версий |
2.21 | Windows 10 версии 1703 WDK | Windows 10 версии 1703 (Creators Update, Redstone 2) | Windows 10 версии 1703 и более поздних версий |
2,19 | Windows 10 версии 1607 WDK | Windows 10 версии 1607 (юбилейное обновление, Redstone 1) | Windows 10 версии 1607, Windows Server 2016 и более поздних версий |
2.17 | Windows 10 версии 1511 WDK | Windows 10 версии 1511 (ноябрьское обновление, пороговое значение 2) | Windows 10 версии 1511, Windows Server 2016 и более поздних версий |
2.15 | Windows 10 WDK | Windows 10 версии 1507 (пороговое значение 1) | Windows 10 версии 1507, Windows Server 2016 и более поздних версий |
2.0 | Комплект драйверов Windows (WDK) 8.1 | Windows 8.1 | Windows 8.1 и более поздние версии |
1.11 | Комплект драйверов Windows (WDK) 8 | Windows 8 | Windows Vista и более поздние версии |
1.9 | Windows 7 WDK | Windows 7 | Windows XP и более поздние версии |
1,7 | Windows Server 2008 WDK | Windows Vista с пакетом обновления 1 (SP1), Windows Server 2008 | Windows XP и более поздние версии |
1.5 | Windows Vista WDK | Windows Vista | Windows XP и более поздние версии |
Пакет драйверов Windows (WDK) можно использовать с Microsoft Visual Studio 2022 для создания драйверов, работающих в Windows 10 и более поздних версиях.
Сведения об определении используемой версии WDF см. в Какой версии платформы следует использовать?.
Сведения о новых функциях драйверов UMDF в Windows 10 см. в разделе что нового в драйверах WDF.
Для каждого раздела версии UMDF ниже версия Windows, в которой она была выпущена, указана в скобках.
Последняя версия — UMDF 2.33 (Windows 11, версия 21H2; Windows Server 2022)
- Для устройств, указывающих SystemManagedIdleTimeout или SystemManagedIdleTimeoutWithHint в перечислении WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, при вызове макроса WdfDeviceStopIdle при условии, что WaitForD0 равно FALSE, если устройство по-прежнему находится в состоянии D0 и период тайм-аута простоя еще не истек, WdfDeviceStopIdle возвращает STATUS_SUCCESS (в предыдущих версиях это приводило к возвращению значения STATUS_PENDING).
- функция WdfDeviceWdmAssignPowerFrameworkSettings теперь поддерживает UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS структура содержит два новых элемента (PoFxDeviceFlags и DirectedPoFxEnabled), и теперь эта структура может использоваться с UMDF. Для UMDF используются только размера, PoFxDeviceFlagsи члены DirectedPoFxEnabled. Другие поля игнорируются и должны иметь значение нулю. Платформа выполняет это автоматически, когда драйвер UMDF вызывает функцию WDF_POWER_FRAMEWORK_SETTINGS_INIT.
UMDF 2.31 (Windows 10 версии 2004)
- Добавлен новый API WdfDeviceSetDeviceInterfaceStateEx
- Улучшены существующие API WdfDeviceGetSystemPowerAction
- Добавлено значение реестра для каждого драйвера HostProcessDbgBreakOnDriverLoad. Подробнее см. в разделе Значения реестра для отладки драйверов WDF.
- Введение в платформу управления направленным распределением энергии
UMDF 2.29 (Windows 10 версии 1903)
Без изменений в версии 2.27.
UMDF 2.27 (Windows 10 версии 1809)
- Добавлен новый API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10 версии 1803)
UMDF 2.23 (Windows 10 версии 1709)
- Функционал компаньона добавлен исключительно для внутреннего использования. Сведения о новых DDIs см. в сводке по обратным вызовам и методам WDF.
UMDF 2.21 (Windows 10, версия 1703)
- WdfObjectDereferenceActual: тип параметра File изменен с PCHAR на PCCH.
- WdfObjectReferenceActual: тип параметра file изменен с PCHAR на PCCH.
- Добавлены значения реестра WDF ObjectLeakDetectionLimit и ObjectsForLeakDetection для отладки чрезмерного создания объектов. Для получения дополнительной информации см. в разделе Значения реестра для отладки драйверов WDF.
UMDF 2.19 (Windows 10 версии 1607)
Изменения или дополнения для UMDF версии 2.19 отсутствуют.
UMDF 2.17 (Windows 10 версии 1511)
Эта версия добавляет UMDF-поддержку для следующих существующих интерфейсов:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Дополнительные сведения см. в отправке IRPs в очереди ввода-вывода.
UMDF 2.15 (Windows 10, версия 1507)
- Новый метод WdfDeviceOpenDevicemapKey позволяет драйверу получать доступ к вложенным ключам и значениям в HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Драйвер UMDF может вызывать WdfIoTargetWdmGetTargetFileHandle, чтобы получить дескриптор файла для следующего нижележащего драйвера режима ядра в его стеке. Драйвер может записывать данные в этот дескриптор, обходя абстракции платформы для отправки ввода-вывода в локальный целевой объект ввода-вывода.
- Драйвер UMDF может запросить, чтобы базовый драйвер шины повторно перечислил его. См. WdfDeviceSetFailed.
- Установка директивы UmdfDirectHardwareAccess больше не требуется для устройств с ресурсами подключения. См. указание директив WDF в INF-файлах.
- Исходный код WDF общедоступен в рамках Windows Driver Frameworks. Файлы частных символов для WDF доступны через сервер символов Майкрософт. См. также отладку с помощью источника WDF и видео : отладка драйвера с помощьюисходного кода WDF.
- Теперь в наличии Бортовой регистратор событий (IFR). Обратите внимание, что это отдельно от компонента ведения журнала событий. Дополнительные сведения см. в разделе Inflight Trace Recorder (IFR) для регистрации трассировок и разделе Использование Inflight Trace Recorder в драйверах KMDF и UMDF.
- Поддержка прерываний для устройств с поддержкой GPIO. Дополнительные сведения см. в разделе Создание объекта прерывания.
UMDF 2.0 (Windows 8.1)
В дополнение к общим функциям, описанным в разделе Начало работы с UMDF, версия 2.0 UMDF вводит:
Поддержка таймеров, которые не выводят систему из сна, если они истекают, когда система находится в режиме пониженного энергопотребления. Дополнительные сведения см. в разделе Использование таймеров.
Добавлен элемент CanWakeDevice в структуру WDF_INTERRUPT_CONFIG для поддержки прерываний, которые можно использовать для возврата устройства из низкоэнергетического состояния Dx в состояние полной работы D0. Дополнительные сведения см. в разделе Использование прерывания для пробуждения устройства.
Управление питанием с единственным компонентом и одним состоянием (F0) для драйверов UMDF. Дополнительные сведения см. в разделе WdfDeviceAssignS0IdleSettings.
Теперь для драйверов UMDF 2.0 можно использовать несколько команд расширения отладчика в Wdfkd.dll. Библиотека расширений также содержит следующие новые команды расширения, разработанные специально для отладки драйверов UMDF 2.0:
-
Список команд расширений и применимости фреймворков см. в разделе Расширения отладчика.
Средство ведения журнала событий платформыили (IFR) обновлено для драйверов UMDF 2.0.
Другие расширения отладчика WDF были обновлены для работы с драйверами UMDF 2.0. Полный список команд расширений, включая сведения о том, какие из них применяются к какой платформе, см. в разделе расширения отладчика для драйверов WDF.
Добавлен WdfIoTargetOpenLocalTargetByFile для WDF_IO_TARGET_OPEN_TYPE, чтобы разрешить драйверам UMDF отправлять созданные драйвером запросы на более низкие целевые объекты, требующие связанного объекта файла. Дополнительные сведения см. в примечаниях WDF_IO_TARGET_OPEN_TYPE.
Следующие функции предназначены только для UMDF:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (добавлен в KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (добавлен в KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
Следующие методы KMDF/UMDF, описанные в разделе : доступ к единой модели свойств устройства:
Поддержка следующих типов конфигураций USB в WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Поддержка запроса следующих категорий возможностей в WdfUsbTargetDeviceQueryUsbCapability:
- ПОДДЕРЖКА_USB_УСТРОЙСТВА_ПОДКЛЮЧЕНИЕ_ВЫСОКАЯ_СКОРОСТЬ_СОВМЕСТИМОСТЬ
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_СОВМЕСТИМОСТЬ_С_ВЫСОКОЙ_СКОРОСТЬЮ
Добавлено функции доступа к WDF register/port
UMDF 1.11 (Windows 8)
Версия 1.11 добавляет следующие интерфейсы обратного вызова драйвера и функции обратного вызова событий:
Версия 1.11 добавляет следующие интерфейсы, предоставляемые платформой:
Версия 1.11 добавляет следующие возможности в драйверы на основе UMDF:
Добавлены директивы UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicyи UmdfFsContextUsePolicy, описанные в "Указания директив WDF в INF-файлах"
общеизвестные идентификаторы безопасности (SID) для драйверов UMDF
Поддержка хранилища унифицированных свойств, описанная в разделе Использование реестра в драйверах на основе UMDF
IoGetDeviceObjectPointer интегрирован для работы с UMDF. В предыдущих версиях эта подпрограмма закрывает дескриптор объекта устройства после получения ссылки на дескриптор устройства. Это поведение было несовместимо с ожиданием UMDF, что запрос на очистку объекта устройства не будет происходить до завершения всех операций ввода-вывода.
Расширенная поддержка для поддержки режима простоя Power-Down в драйверах на базе UMDF. Платформа теперь может поместить устройство в состояние питания D3cold, когда истекает период простоя. Платформа также может привести к возвращению устройства к рабочему состоянию (D0), когда система возвращается к рабочему состоянию (S0).
Ниже приведены новые примеры в UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
Версия 1.9 добавляет следующие интерфейсы обратного вызова, предоставленные драйвером:
Версия 1.9 добавляет следующие интерфейсы, предоставляемые платформой:
Эти интерфейсы добавляют следующие возможности в драйверы на основе UMDF:
Метод доступа к буферу прямого ввода-вывода
Непрерывные считыватели для USB-устройств
Улучшенная возможность отмены запросов ввода-вывода