Historial de versiones de UMDF
En este tema se enumeran las versiones de User-Mode Driver Framework (UMDF), las versiones correspondientes del sistema operativo Windows y los cambios realizados en cada versión.
En la tabla siguiente se muestra el historial de versiones de la biblioteca UMDF. Puede usar la barra lateral En este artículo de la derecha para navegar rápidamente a una versión específica.
Versión de UMDF | Versión inicial | Incluido en | Los controladores que usan esta versión de UMDF se ejecutan en |
---|---|---|---|
2,33 | Windows 11, versión 21H2 WDK; WDK para Windows Server 2022 | Windows 11, versión 24H2; Windows 11, versión 23H2; Windows 11, versión 22H2; Windows 11, versión 21H2; Windows Server 2022 | Windows 11, versión 21H2 y posteriores; Windows Server 2022 y versiones posteriores |
2.31 | Windows 10, versión 2004 WDK | Windows 10, versión 2004 (actualización de mayo de 2020, Vibranium) | Windows 10, versión 2004 y posteriores |
2,29 | No publicado en WDK | Windows 10, versión 1903 (actualización de marzo de 2019, 19H1) | Windows 10, versión 1903 y posteriores |
2,27 | Windows 10, versión 1809 WDK | Windows 10, versión 1809 (actualización de octubre de 2018, Redstone 5) | Windows 10, versión 1809 y posteriores |
2.25 | Windows 10, versión 1803 WDK | Windows 10, versión 1803 (actualización de abril de 2018, Redstone 4) | Windows 10, versión 1803 y posteriores |
2,23 | Windows 10, versión 1709 WDK | Windows 10, versión 1709 (Fall Creators Update, Redstone 3) | Windows 10, versión 1709 y posteriores |
2.21 | Windows 10, versión 1703 WDK | Windows 10, versión 1703 (Creators Update, Redstone 2) | Windows 10, versión 1703 y posteriores |
2.19 | Windows 10, versión 1607 WDK | Windows 10, versión 1607 (Actualización de aniversario, Redstone 1) | Windows 10, versión 1607, Windows Server 2016 y versiones posteriores |
2.17 | Windows 10, versión 1511 WDK | Windows 10, versión 1511 (actualización de noviembre, umbral 2) | Windows 10, versión 1511, Windows Server 2016 y versiones posteriores |
2.15 | Windows 10 WDK | Windows 10, versión 1507 (umbral 1) | Windows 10, versión 1507, Windows Server 2016 y versiones posteriores |
2.0 | Kit de controladores de Windows (WDK) 8.1 | Windows 8.1 | Windows 8.1 y versiones posteriores |
1.11 | Kit de controladores de Windows (WDK) 8 | Windows 8 | Windows Vista y versiones posteriores |
1.9 | Windows 7 WDK | Windows 7 | Windows XP y versiones posteriores |
1.7 | Windows Server 2008 WDK | Windows Vista con Service Pack 1 (SP1), Windows Server 2008 | Windows XP y versiones posteriores |
1.5 | Windows Vista WDK | Windows Vista | Windows XP y versiones posteriores |
Puedes usar el Kit de controladores de Windows (WDK) con Microsoft Visual Studio 2022 para compilar controladores que se ejecutan en Windows 10 y versiones posteriores.
Para obtener ayuda para determinar qué versión de WDF se va a usar, consulte ¿Qué versión de marco debo usar?.
Para obtener información sobre las nuevas características de los controladores UMDF en Windows 10, consulta Novedades para controladores WDF.
Para cada sección de la versión de UMDF siguiente, la versión de Windows en la que se publicó aparece entre paréntesis.
Versión más reciente: UMDF 2.33 (Windows 11, versión 21H2; Windows Server 2022)
- En el caso de los dispositivos que especifican SystemManagedIdleTimeout o SystemManagedIdleTimeoutWithHint en la enumeración WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, al llamar a la macro WdfDeviceStopIdle con WaitForD0 establecido en FALSE, si el dispositivo todavía está en D0 y el período de tiempo de espera de inactividad aún no ha transcurrido, WdfDeviceStopIdle devuelve STATUS_SUCCESS (en versiones anteriores, esto dio como resultado un valor devuelto de STATUS_PENDING).
- La función WdfDeviceWdmAssignPowerFrameworkSettings ahora admite UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS estructura tiene dos nuevos miembros (PoFxDeviceFlags y DirectedPoFxEnabled) y ahora se pueden usar con UMDF. Para UMDF, solo se usan los miembros Size, PoFxDeviceFlags y DirectedPoFxEnabled . Se omiten otros campos y deben establecerse en cero. El marco lo hace automáticamente cuando un controlador UMDF llama a la función WDF_POWER_FRAMEWORK_SETTINGS_INIT.
UMDF 2.31 (Windows 10, versión 2004)
- Se han agregado nuevas API WdfDeviceSetDeviceInterfaceStateEx
- WdfDeviceGetSystemPowerAction de la API existente mejorada
- Se ha agregado el valor del registro HostProcessDbgBreakOnDriverLoad por controlador. Para obtener información, consulte Valores del Registro para depurar controladores de WDF.
- Introducción al Marco de administración de energía dirigida
UMDF 2.29 (Windows 10, versión 1903)
Sin cambios de la versión 2.27.
UMDF 2.27 (Windows 10, versión 1809)
- Se ha agregado la nueva API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, versión 1803)
- WdfDeviceRetrieveDeviceDirectoryString
- Creación de un controlador WDF para varias versiones de Windows.
UMDF 2.23 (Windows 10, versión 1709)
- Funcionalidad complementaria agregada solo para uso interno. Para obtener las nuevas DDIs, vea Resumen de devoluciones de llamada y métodos de WDF.
UMDF 2.21 (Windows 10, versión 1703)
- WdfObjectDereferenceActual: tipo de parámetro File cambiado de PCHAR a PCCH.
- WdfObjectReferenceActual: tipo de parámetro File cambiado de PCHAR a PCCH.
- Se agregaron valores del Registro WDF ObjectLeakDetectionLimit y ObjectsForLeakDetection para depurar la creación excesiva de objetos. Para obtener más información, consulta Valores del Registro para depurar controladores de WDF.
UMDF 2.19 (Windows 10, versión 1607)
No hay cambios ni adiciones para la versión 2.19 de UMDF.
UMDF 2.17 (Windows 10, versión 1511)
Esta versión agrega compatibilidad con UMDF para las siguientes interfaces existentes:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Para obtener más información, consulte Envío de IRP a colas de E/S.
UMDF 2.15 (Windows 10, versión 1507)
- El nuevo método WdfDeviceOpenDevicemapKey permite que un controlador acceda a subclaves y valores en HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Un controlador UMDF puede llamar a WdfIoTargetWdmGetTargetFileHandle para obtener un identificador de archivo para el controlador en modo kernel siguiente en su pila. El controlador puede escribir datos en ese identificador y pasar las abstracciones del marco para enviar E/S al destino de E/S local.
- Un controlador UMDF puede solicitar que el controlador de bus subyacente vuelva a enumerarlo. Consulte WdfDeviceSetFailed.
- La configuración de la directiva UmdfDirectHardwareAccess ya no siempre es necesaria para los dispositivos que tienen recursos de conexión. Consulte Especificación de directivas WDF en archivos INF.
- El código fuente de WDF está disponible públicamente en windows Driver Frameworks. Los archivos de símbolos privados para WDF están disponibles a través del servidor de símbolos de Microsoft. Consulte también Depuración con el origen de WDF y vídeo: Depuración del controlador con código fuente de WDF.
- La Grabadora de seguimiento enlight (IFR) ya está disponible. Tenga en cuenta que esto es independiente del registrador de eventos del marco. Para obtener más información, consulta Inflight Trace Recorder (IFR) para registrar seguimientos y Usar la grabadora de seguimiento en KMDF y controladores UMDF.
- Compatibilidad con interrupciones para dispositivos respaldados por GPIO. Para obtener más información, vea Crear un objeto de interrupción.
UMDF 2.0 (Windows 8.1)
Además de la funcionalidad compartida descrita en Introducción a UMDF, la versión 2.0 de UMDF agrega:
Compatibilidad con temporizadores que no activan el sistema si expiran cuando el sistema está en un estado de bajo consumo. Para obtener más información, consulte Uso de temporizadores.
Se ha agregado el miembro CanWakeDevice a WDF_INTERRUPT_CONFIG estructura para admitir interrupciones que se pueden usar para devolver un dispositivo de un estado Dx de baja potencia a su estado totalmente en D0. Para obtener más información, consulte Uso de una interrupción para reactivar un dispositivo.
Administración de energía de un solo componente (F0) para controladores UMDF. Para obtener más información, vea WdfDeviceAssignS0IdleSettings.
Ahora se pueden usar varios comandos de extensión del depurador en Wdfkd.dll para controladores UMDF 2.0. La biblioteca de extensiones también contiene los siguientes comandos de extensión nuevos diseñados específicamente para depurar controladores UMDF 2.0:
-
Para obtener una lista de comandos de extensión y aplicabilidad del marco, consulte Extensiones del depurador.
El registrador de eventos del marco o la Grabadora en vuelo (IFR) se ha actualizado para trabajar con controladores UMDF 2.0.
Se han actualizado otras extensiones del depurador de WDF para trabajar con controladores UMDF 2.0. Para obtener una lista completa de los comandos de extensión, incluida la información sobre las que se aplican a qué marco de trabajo, consulte Extensiones del depurador para controladores WDF.
Se ha agregado WdfIoTargetOpenLocalTargetByFile a WDF_IO_TARGET_OPEN_TYPE para permitir que los controladores umDF envíen solicitudes creadas por controladores a destinos inferiores que requieren un objeto de archivo asociado. Para obtener más información, vea los comentarios de WDF_IO_TARGET_OPEN_TYPE.
Las siguientes rutinas de solo UMDF:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (agregado a KMDF 1.21)
- WdfFileObjectGetRelatedFileObjectObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (agregado a KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
Los siguientes métodos KMDF/UMDF descritos en Acceso al modelo de propiedades de dispositivo unificado:
-
Para obtener más información, consulte Acceso al modelo de propiedades de dispositivo unificado.
Compatibilidad con los siguientes tipos de configuración USB en WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Compatibilidad para consultar los siguientes tipos de funcionalidad en WdfUsbTargetDeviceQueryUsbCapability:
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
Se agregaron funciones de registro/puerto de WDF
UMDF 1.11 (Windows 8)
La versión 1.11 agrega las siguientes interfaces de devolución de llamada proporcionadas por el controlador y las funciones de devolución de llamada de eventos:
La versión 1.11 agrega las siguientes interfaces proporcionadas por el marco:
La versión 1.11 agrega las siguientes funcionalidades a los controladores basados en UMDF:
Se agregaron directivas UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy y UmdfFsContextUsePolicy, descritas en Especificación de directivas WDF en archivos INF
Identificadores de seguridad conocidos (SID) para controladores UMDF
Compatibilidad con el almacén de propiedades unificado, que se describe en Uso del Registro en controladores basados en UMDF
IoGetDeviceObjectPointer está integrado para trabajar con UMDF. En versiones anteriores, esta rutina cierra el identificador del objeto de dispositivo después de tomar una referencia en el identificador del dispositivo. Este comportamiento no era compatible con la expectativa de UMDF de que la solicitud de limpieza en el objeto de dispositivo no se producirá hasta que se complete toda la E/S.
Compatibilidad mejorada para admitir el apagado inactivo en controladores basados en UMDF. El marco de trabajo ahora puede colocar el dispositivo en el estado de alimentación D3cold cuando expira el período de tiempo de espera de inactividad. El marco también puede hacer que el dispositivo vuelva a su estado de trabajo (D0) cuando el sistema vuelva a su estado de trabajo (S0).
Los ejemplos siguientes son nuevos en UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
La versión 1.9 agrega las siguientes interfaces de devolución de llamada proporcionadas por el controlador:
La versión 1.9 agrega las siguientes interfaces proporcionadas por el marco:
Estas interfaces agregan las siguientes funcionalidades a los controladores basados en UMDF:
Lectores continuos para dispositivos USB
Compatibilidad mejorada con interfaces de dispositivo
Capacidad mejorada para cancelar solicitudes de E/S
Acceso mejorado al registro