KMDF 版本历史记录
本主题列出了 Kernel-Mode Driver Framework (KMDF) 的版本、Windows 操作系统的相应版本以及每个版本中所做的更改。
下表显示了 KMDF 库的发布历史记录。 可以使用右侧的 “本文 ”边栏快速导航到特定版本。
KMDF 版本 | 初始版本 | 包含于 | 使用此 KMDF 版本的驱动程序运行于 |
---|---|---|---|
1.33 | Windows 11,版本 21H2 WDK;适用于 Windows Server 2022 的 WDK | 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 2019 配合使用,以生成在 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: File 参数的类型从 PCHAR 更改为 PCCH。
- WdfObjectReferenceActual: File 参数的类型从 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 驱动程序框架公开获取。 可通过 Microsoft 符号服务器获取 WDF 的专用符号文件。 另请参阅 使用 WDF 进行调试源 和 视频:使用 WDF 源代码调试驱动程序。
- 现可使用 (IFR) 的机上跟踪记录器。 请注意,这是独立于 框架的事件记录器。 有关详细信息,请参阅用于 记录跟踪的 INflight Trace Recorder (IFR) 和 在 KMDF 和 UMDF 驱动程序中使用机上跟踪记录器。
- 支持对支持 GPIO 的设备进行中断。 有关详细信息,请参阅创建中断对象。
KMDF 1.13 (Windows 8.1)
KMDF 版本 1.13 添加了以下功能:
- 向 WDF_INTERRUPT_CONFIG 结构添加了 CanWakeDevice 成员,以支持可用于将设备从低功率 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 成员。
向 WDF_INTERRUPT_CONFIG 添加了 ReportInactiveOnPowerDown 成员。
向WDF_IO_TARGET_STATE添加了 WdfIoTargetPurged 值。
向WDF_SPECIAL_FILE_TYPE添加了 WdfSpecialFileBoot 值。
向注册表值添加了 DbgWaitForSignalTimeoutInSec,以便调试基于框架的驱动程序。
添加了 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 版本) 中发布
初始版本。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈