Журнал версий UMDF
В этом разделе перечислены версии среда выполнения платформы драйвера режима пользователя (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 используются только элементы Size, 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: тип параметра файла изменился с PCHAR на PCCH.
- WdfObjectReferenceActual: тип параметра файла изменился с 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 Framework. Файлы частных символов для WDF доступны через сервер символов Майкрософт. Кроме того, см . отладку с помощью источника WDF и видео: отладка драйвера с помощью исходного кода WDF.
- Теперь доступно средство записи трассировки inflight (IFR). Обратите внимание, что это отдельно от средства ведения журнала событий платформы. Дополнительные сведения см. в разделе Inflight Trace Recorder (IFR) для трассировки журналов и использования средства записи трассировки inflight в драйверах KMDF и UMDF.
- Поддержка прерываний для устройств с поддержкой GPIO. Дополнительные сведения см. в разделе "Создание объекта прерывания".
UMDF 2.0 (Windows 8.1)
Помимо общих функций, описанных в статье "Начало работы с UMDF", добавляется UMDF версии 2.0:
Поддержка таймеров, которые не просят систему, если они истекают, когда система находится в состоянии низкой мощности. Дополнительные сведения см. в разделе "Использование таймеров".
Добавлен элемент CanWakeDevice для WDF_INTERRUPT_CONFIG структуры для поддержки прерываний, которые можно использовать для передачи устройства из состояния Dx с низкой мощностью в полное состояние D0. Дополнительные сведения см. в разделе "Использование прерывания для пробуждения устройства".
Управление питанием с одним компонентом (F0) для драйверов UMDF. Дополнительные сведения см. в разделе WdfDeviceAssignS0IdleSettings.
Теперь для драйверов UMDF 2.0 также можно использовать несколько команд расширения отладчика в Wdfkd.dll. Библиотека расширений также содержит следующие новые команды расширения, разработанные специально для отладки драйверов UMDF 2.0:
-
Список команд расширения и применимости платформы см. в разделе "Расширения отладчика".
Средство ведения журнала событий платформы или in-flight Recorder (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:
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
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-устройств
Расширенная поддержка интерфейсов устройств