KMDF 版本历史记录
本主题列出了内核模式驱动程序框架 (KMDF)、Windows 操作系统的相应版本以及每个版本中所做的更改。
下表显示了 KMDF 库的发布历史记录。 可以使用右侧的本文边栏快速导航到特定版本。
KMDF 版本 | 初始版本 | 包含于 | 使用此 KMDF 版本的驱动程序运行 |
---|---|---|---|
1.33 | Windows 11 版本 21H2 WDK;适用于 Windows Server 2022 的 WDK | Windows 11 版本 24H2;Windows 11 版本 23H2;Windows 11 版本 22H2;Windows 11 版本 21H2;Windows Server 2022 | Windows 11 版本 21H2 及更高版本;Windows Server 2022 及更高版本 |
1.31 | Windows 10,版本 2004 WDK | Windows 10 版本 2004 | Windows 10 2004 版及更高版本 |
1.29 | 未在 WDK 中发布 | Windows 10 版本 1903 | Windows 10 版本 1903 和更高版本 |
1.27 | Windows 10,版本 1809 WDK | Windows 10 版本 1809 | Windows 10 版本 1809 及更高版本 |
1.25 | Windows 10,版本 1803 WDK | Windows 10 版本 1803 | Windows 10 版本 1803 或更高版本 |
1.23 | Windows 10,版本 1709 WDK | Windows 10 版本 1709 | Windows 10 1709 版及更高版本 |
1.21 | Windows 10,版本 1703 WDK | Windows 10 版本 1703 | Windows 10 版本 1703 及更高版本 |
1.19 | Windows 10,版本 1607 WDK | Windows 10 版本 1607 | Windows 10 版本 1607,Windows Server 2016 和更高版本 |
1.17 | Windows 10,版本 1511 WDK | Windows 10 版本 1511 | Windows 10 版本 1511,Windows Server 2016 和更高版本 |
1.15 | windows 10 WDK | Windows 10 版本 1507 | Windows 10 版本 1507,Windows Server 2016 和更高版本 |
1.13 | windows 8.1 WDK | Windows 8.1 | Windows 8.1 及更高版本 |
1.11 | windows 8 WDK | Windows 8 | Windows Vista 及更高版本 |
1.9 | windows 7 WDK | Windows 7 | Windows XP 及更高版本 |
1.7 | Windows Server 2008 WDK | Windows Vista Service Pack 1 (SP1);Windows Server 2008 | Windows 2000 及更高版本 |
1.5 | Windows Vista WDK | Windows Vista | Windows 2000 及更高版本 |
1.1 | 仅下载 | 无 | Windows 2000 及更高版本 |
1.0 | 仅下载 | 无 | Windows XP 及更高版本 |
可以将 Windows 驱动程序工具包(WDK)与 Microsoft Visual Studio 2022 配合使用,以生成在 Windows 10 及更高版本上运行的驱动程序。
有关确定要使用的 WDF 版本的帮助,请参阅我应使用哪个框架版本?。
有关回调和方法的完整列表,以及它们适用的框架和版本,请参阅 WDF 回调和方法摘要。
有关 Windows 10 中 KMDF 驱动程序的新功能的信息,请参阅 WDF 驱动程序的新增功能。
对于下面的每个 KMDF 版本部分,其发布的 Windows 版本在括号中列出。
最新版本 - KMDF 1.33 (Windows 11 版本 21H2;Windows Server 2022)
- 对于在 WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE 枚举中指定 SystemManagedIdleTimeout 或 SystemManagedIdleTimeoutWithHint 的设备,当调用将 WaitForD0 设置为 FALSE 的 WdfDeviceStopIdle 宏,如果设备仍处于 D0 并且空闲超时期限尚未过,则 WdfDeviceStopIdle 返回 STATUS_SUCCESS(在早期版本中,这会导致返回值 STATUS_PENDING)。
- WDF_POWER_FRAMEWORK_SETTINGS 结构具有两个新成员(PoFxDeviceFlags 和 DirectedPoFxEnabled)。
KMDF 1.31(Windows 10 版本 2004)
- 添加了新的 API WdfDeviceSetDeviceInterfaceStateEx
- 改进了现有 API WdfDeviceGetSystemPowerAction
- 添加了新的 API WdfPdoInitRemovePowerDependencyOnParent
- 导向式电源管理框架简介
KMDF 1.29(Windows 10 版本 1903)
与版本 1.25 相比没有变化。
KMDF 1.27(Windows 10 版本 1809)
与版本 1.25 相比没有变化。
KMDF 1.25(Windows 10 版本 1803)
KMDF 1.23(Windows 10 版本 1709)
- 为仅供内部使用而添加的配套功能。 有关详细信息,请参阅 Wdfcompanion.h。
KMDF 1.21(Windows 10 版本 1703)
- WdfFileObjectGetInitiatorProcessId 以前仅适用于 UMDF,现在可用于 KMDF。
- WdfRequestGetRequestorProcessId 以前仅适用于 UMDF,现在可用于 KMDF。
- WdfObjectDereferenceActual:文件参数的类型已从 PCHAR 更改为 PCCH。
- WdfObjectReferenceActual:文件参数的类型已从 PCHAR 更改为 PCCH。
- 添加了 WDF 注册表值 ObjectLeakDetectionLimit 和 ObjectsForLeakDetection ,用于调试过多的对象创建。 有关详细信息,请参阅 用于调试 WDF 驱动程序的注册表值。
- SleepStudy 软件工具报告 KMDF 驱动程序具有的妨碍系统进入睡眠的电源参考数。 有关详细信息,请参阅 Modern standby SleepStudy(新式待机 SleepStudy)。
KMDF 1.19(Windows 10 版本 1607)
- 添加了 WdfDmaTransactionSetSingleTransferRequirement
- 在 WDF_DMA_ENABLER_CONFIG_FLAGS 中添加了 WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER 标志。
- 为 WdfDmaTransactionInitialize 和 WdfDmaTransactionDmaCompleted 添加了 STATUS_WDF_TOO_MANY_TRANSFERS 返回值
- 向 !wdfkd.wdfdmatransaction和 !wdfkd.wdfdmaenabler 添加了单个传输输出的输出消息
- 有关单个传输 DMA 的详细信息,请参阅 使用单传输 DMA。
KMDF 1.15(Windows 10 版本 1507)
- 新的 WdfDeviceOpenDevicemapKey 方法允许驱动程序访问 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 下的子项和值。
- WDF 源代码可从 Windows 驱动程序框架公开提供。 WDF 的专用符号文件可通过 Microsoft 符号服务器获得。 另请参阅 使用 WDF 源 和 视频进行调试:使用 WDF 源代码调试驱动程序。
- 现提供飞行跟踪记录器 (IFR)。 请注意,这与 框架事件日志器是分开的。 有关详细信息,请参阅 用于记录跟踪的飞行跟踪记录器 (IFR) 和 在 KMDF 和 UMDF 驱动程序中使用飞行跟踪记录器。
- 支持的中断适用于 GPIO 支持的设备。 有关详细信息,请参阅创建中断对象。
KMDF 1.13 (Windows 8.1)
KMDF 版本 1.13 添加了以下功能:
- 添加了 CanWakeDevice 成员到 WDF_INTERRUPT_CONFIG 结构来支持中断,这些中断可用于将设备从低功率 Dx 状态带回其完全处于 D0 状态。 有关详细信息,请参阅 使用中断唤醒设备。
- 支持高分辨率计时器。 有关详细信息,请参阅使用计时器。
- 支持计时器,当系统处于低功耗状态时,如果计时器过期,则不会唤醒系统。 有关详细信息,请参阅使用计时器。
- 访问统一设备属性模型中所述的以下 KMDF/UMDF 方法:
有关 UMDF 版本信息,请参阅 UMDF 版本历史记录。
KMDF 1.11 (Windows 8)
版本 1.11 添加了以下功能:
支持 被动级别中断
单个设备中多个组件的功能电源状态
以下方法:
- 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
向 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 添加了 IdleTimeoutType 和 ExcludeD3Cold 成员。
添加了 InstallWdf、MultiComp 和 SingleComp 示例。
KMDF 1.9 (Windows 7)
版本 1.9 添加了以下功能:
I/O 队列的有保证向前进度
支持将子设备的 I/O 队列中的 I/O 请求重新排队到父设备的 I/O 队列
能够为单个队列对象指定 队列级同步 。
以下方法:
向WDF_IO_QUEUE_CONFIG 结构添加了 NumberOfPresentedRequests 成员,以便驱动程序可以限制框架从并行 I/O 队列传递到驱动程序的 I/O 请求数。
向 WDF_FILEOBJECT_CLASS 结构添加了 WdfFileObjectCanBeOptional 标志。
向 WDF_TIMER_CONFIG 结构添加了 TolerableDelay 成员。
添加了 WdfDefaultIdleInWorkingState 和 WdfDefaultWakeFromSleepState 注册表值。
KMDF 1.7(Windows Vista Service Pack 1;Windows Server 2008)
可以在 IRQL<=DISPATCH_LEVEL 调用 WdfDeviceEnqueueRequest 方法。
如果指定的工作项已在工作项队列中,则可以调用 WdfWorkItemEnqueue 方法。
添加了 EvtDeviceArmWakeFromSxWithReason 事件回调函数。
向 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构添加了 ArmForWakeIfChildrenAreArmedForWake 和 IndicateChildWakeOnParentWake 成员。
KMDF 1.5 (Windows Vista)
向 WDF_DRIVER_CONFIG 添加了 DriverPoolTag 成员。
KMDF 1.1(未在 Windows 版本中发布)
KMDF 1.0(未在 Windows 版本中发布)
初始版本。