Historial de versiones de KMDF
En este tema se enumeran las versiones de Kernel-Mode Driver Framework (KMDF), 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 KMDF. 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 KMDF | Versión inicial | Incluido en | Los controladores que usan esta versión de KMDF se ejecutan en |
---|---|---|---|
1.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 |
1,31 | Windows 10, versión 2004 WDK | Windows 10, versión 2004 | Windows 10, versión 2004 y posteriores |
1.29 | No publicado en WDK | Windows 10, versión 1903 | Windows 10, versión 1903 y posteriores |
1.27 | Windows 10, versión 1809 WDK | Windows 10, versión 1809 | Windows 10, versión 1809 y posteriores |
1,25 | Windows 10, versión 1803 WDK | Windows 10, versión 1803 | Windows 10, versión 1803 y posteriores |
1.23 | Windows 10, versión 1709 WDK | Windows 10, versión 1709 | Windows 10, versión 1709 y posteriores |
1.21 | Windows 10, versión 1703 WDK | Windows 10, versión 1703 | Windows 10, versión 1703 y posteriores |
1.19 | Windows 10, versión 1607 WDK | Windows 10, versión 1607 | Windows 10, versión 1607, Windows Server 2016 y versiones posteriores |
1.17 | Windows 10, versión 1511 WDK | Windows 10, versión 1511 | Windows 10, versión 1511, Windows Server 2016 y versiones posteriores |
1.15 | Windows 10 WDK | Windows 10, versión 1507 | Windows 10, versión 1507, Windows Server 2016 y versiones posteriores |
1.13 | Windows 8.1 WDK | Windows 8.1 | Windows 8.1 y versiones posteriores |
1.11 | Windows 8 WDK | 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 2000 y versiones posteriores |
1.5 | Windows Vista WDK | Windows Vista | Windows 2000 y versiones posteriores |
1.1 | Descargar solo | None | Windows 2000 y versiones posteriores |
1.0 | Descargar solo | None | 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 una lista completa de devoluciones de llamada y métodos, y a qué marcos y versiones se aplican, consulte Resumen de devoluciones de llamada y métodos de WDF.
Para obtener información sobre las nuevas características de los controladores KMDF en Windows 10, consulta Novedades para controladores WDF.
Para cada sección de la versión de KMDF siguiente, la versión de Windows en la que se publicó aparece entre paréntesis.
Versión más reciente: KMDF 1.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).
- WDF_POWER_FRAMEWORK_SETTINGS estructura tiene dos nuevos miembros (PoFxDeviceFlags y DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, versión 2004)
- Se han agregado nuevas API WdfDeviceSetDeviceInterfaceStateEx
- WdfDeviceGetSystemPowerAction de la API existente mejorada
- Se ha agregado la nueva API WdfPdoInitRemovePowerDependencyOnParent
- Introducción al Marco de administración de energía dirigida
KMDF 1.29 (Windows 10, versión 1903)
Sin cambios de la versión 1.25.
KMDF 1.27 (Windows 10, versión 1809)
Sin cambios de la versión 1.25.
KMDF 1.25 (Windows 10, versión 1803)
KMDF 1.23 (Windows 10, versión 1709)
- Funcionalidad complementaria agregada solo para uso interno. Para obtener más información, consulta Wdfcompanion.h.
KMDF 1.21 (Windows 10, versión 1703)
- WdfFileObjectGetInitiatorProcessId era anteriormente umDF-only, ahora disponible en KMDF.
- WdfRequestGetRequestorProcessId era anteriormente umDF-only, ahora disponible en KMDF.
- 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.
- La herramienta de software SleepStudy informa del número de referencias de energía que tiene un controlador KMDF que impide que el sistema vaya a dormir. Para obtener más información, consulta Modern standby SleepStudy.
KMDF 1.19 (Windows 10, versión 1607)
- Se ha agregado WdfDmaTransactionSetSingleTransferRequirement
- Se agregó WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER marca en WDF_DMA_ENABLER_CONFIG_FLAGS
- Se ha agregado STATUS_WDF_TOO_MANY_TRANSFERS valor devuelto para WdfDmaTransactionInitialize y WdfDmaTransactionDmaCompleted
- Se han agregado mensajes de salida para la salida de transferencia única a !wdfkd.wdfdmatransaction y !wdfkd.wdfdmaenabler
- Para obtener más información sobre la transferencia única DMA, consulta Using Single Transfer DMA.
KMDF 1.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.
- 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.
KMDF 1.13 (Windows 8.1)
La versión 1.13 de KMDF agrega la siguiente funcionalidad:
- 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.
- Compatibilidad con temporizadores de alta resolución. Para obtener más información, consulte Uso de temporizadores.
- 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.
- Los siguientes métodos KMDF/UMDF descritos en Acceso al modelo de propiedades de dispositivo unificado:
Para obtener información sobre las versiones de UMDF, consulte Historial de versiones de UMDF.
KMDF 1.11 (Windows 8)
La versión 1.11 agrega la siguiente funcionalidad:
Compatibilidad con interrupciones de nivel pasivo
Estados de energía funcional para varios componentes dentro de un único dispositivo
Los métodos siguientes:
- WdfDeviceConfigureWdmIrpDispatchCallback
- WdfDeviceInitSetReleaseHardwareOrderOnFailure
- WdfDeviceInitSetRemoveLockOptions
- WdfDeviceWdmDispatchIrp
- WdfDmaEnablerConfigureSystemProfile
- WdfDmaTransactionAllocateResources
- WdfDmaTransactionCancel
- WdfDmaTransactionFreeResources
- WdfDmaTransactionGetTransferInfo
- WdfDmaTransactionInitializeUsingOffset
- WdfDmaTransactionSetChannelConfigurationCallback
- WdfDmaTransactionSetDeviceAddressOffset
- WdfDmaTransactionSetImmediateExecution
- WdfDmaTransactionSetTransferCompleteCallback
- WdfDmaTransactionWdmGetTransferContext
- WdfInterruptQueueWorkItemForIsr
- WdfInterruptReportActive
- WdfInterruptReportInactive
- WdfInterruptTryToAcquireLock
- WdfIoQueueStopAndPurge
- WdfIoQueueStopAndPurgeSynchronously
- WdfIoTargetPurge
- WdfUsbTargetDeviceCreateIsochUrb
- WdfUsbTargetDeviceCreateUrb
- WdfUsbTargetDeviceCreateWithParameters
- WdfUsbTargetDeviceQueryUsbCapability
Se ha agregado EvtDeviceUsageNotificationEx.
Se agregaron miembros IdleTimeoutType y ExcludeD3Cold a WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Se agregó el miembro ReportInactiveOnPowerDown a WDF_INTERRUPT_CONFIG.
Se agregó el valor WdfIoTargetPurged a WDF_IO_TARGET_STATE.
Se agregó el valor WdfSpecialFileBoot a WDF_SPECIAL_FILE_TYPE.
Se ha agregado DbgWaitForSignalTimeoutInSec a los valores del Registro para depurar controladores basados en marco de trabajo.
Se han agregado ejemplos installWdf, MultiComp y SingleComp .
KMDF 1.9 (Windows 7)
La versión 1.9 agrega la siguiente funcionalidad:
Progreso hacia delante garantizado para las colas de E/S
Compatibilidad con la puesta en cola de solicitudes de E/S de un dispositivo secundario a la cola de E/S de un dispositivo primario
Capacidad de especificar la sincronización de nivel de cola para objetos de cola individuales.
Los métodos siguientes:
Se agregó el miembro NumberOfPresentedRequests a la estructura WDF_IO_QUEUE_CONFIG para que los controladores puedan limitar el número de solicitudes de E/S que el marco entrega al controlador desde una cola de E/S paralela.
Se agregó la marca WdfFileObjectCanBeOptional a la estructura WDF_FILEOBJECT_CLASS.
Se agregó el miembro TolerableDelay a la estructura WDF_TIMER_CONFIG.
Se agregaron los valores del Registro WdfDefaultIdleInWorkingState y WdfDefaultWakeFromSleepState .
KMDF 1.7 (Windows Vista con Service Pack 1; Windows Server 2008)
Se puede llamar al método WdfDeviceEnqueueRequest en IRQL<=DISPATCH_LEVEL.
Se puede llamar al método WdfWorkItemEnqueue si el elemento de trabajo especificado ya está en la cola de elementos de trabajo.
Se agregó la función de devolución de llamada de evento EvtDeviceArmWakeFromSxWithReason.
Se agregaron miembros ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake a la estructura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Se agregó el miembro DriverPoolTag a WDF_DRIVER_CONFIG.
KMDF 1.1 (no publicado en una versión de Windows)
- Los métodos siguientes:
KMDF 1.0 (no publicado en una versión de Windows)
Versión inicial.