このトピックでは、Kernel-Mode Driver Framework (KMDF) のバージョン、対応するバージョンの Windows オペレーティング システム、および各リリースで行われた変更の一覧を示します。
次の表に、KMDF ライブラリのリリース履歴を示します。 右側のこの 記事 のサイドバーを使用すると、特定のバージョンにすばやく移動できます。
| KMDF バージョン | 初回リリース | に含まれるもの | この KMDF バージョンを使用するドライバーは、 |
|---|---|---|---|
| 1.33 | Windows 11 バージョン 21H2 WDK;WDK for Windows Server 2022 | 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 Version 1903 以降 |
| 1.27 | Windows 10 バージョン 1809 WDK | Windows 10 バージョン 1809 | Windows 10 バージョン 1809 以降 |
| 1.25 | Windows 10 バージョン 1803 WDK | Windows 10 Version 1803 | Windows 10、バージョン 1803 以降 |
| 1.23 | Windows 10 バージョン 1709 WDK | Windows 10 Version 1709 | Windows 10 バージョン 1709 以降 |
| 1.21 | Windows 10 バージョン 1703 WDK | Windows 10 Version 1703 | Windows 10バージョン 1703 以降 |
| 1.19 | Windows 10 バージョン 1607 WDK | Windows 10 Version 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 Driver Kit (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 構造体には、2 つの新しいメンバー (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 に変更された File パラメーターの型。
- WdfObjectReferenceActual: PCHAR から PCCH に変更された File パラメーターの型。
- 過剰なオブジェクトの作成をデバッグするための WDF レジストリ値 ObjectLeakDetectionLimit と ObjectsForLeakDetection を追加しました。 詳細については、「 WDF ドライバーをデバッグするためのレジストリ値」を参照してください。
- SleepStudy ソフトウェア ツールは、システムがスリープ状態になるのを妨げている KMDF ドライバーが持つ電源参照の数を報告します。 詳細については、「モダン スタンバイ スリープスタディ」を参照してください。
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 Driver Framework から一般公開されています。 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 では、次の機能が追加されています。
パッシブ レベルの割り込みのサポート
1 つのデバイス内の複数のコンポーネントの機能電源状態
次のメソッド:
- 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
EvtDeviceUsageNotificationEx を追加しました。
IdleTimeoutType メンバーと ExcludeD3Cold メンバーをWDF_DEVICE_POWER_POLICY_IDLE_SETTINGSに追加しました。
ReportInactiveOnPowerDown メンバーをWDF_INTERRUPT_CONFIGに追加しました。
フレームワーク ベースのドライバーをデバッグするためのレジストリ値に DbgWaitForSignalTimeoutInSec を追加しました。
InstallWdf、MultiComp、SingleComp のサンプルを追加しました。
KMDF 1.9 (Windows 7)
バージョン 1.9 では、次の機能が追加されています。
I/O キューの前進する進行状況が保証されます
子デバイスのI/Oキューから親デバイスのI/OキューへのI/O要求の再キューイングのサポート
個々の キュー オブジェクトのキュー レベルの同期 を指定する機能。
次のメソッド:
ドライバーが並列 I/O キューからドライバーに配信する I/O 要求の数を制限できるように、 NumberOfPresentedRequests メンバーを WDF_IO_QUEUE_CONFIG 構造体に追加しました。
WDF_FILEOBJECT_CLASS構造体に WdfFileObjectCanBeOptional フラグを追加しました。
tolerableDelay メンバーを WDF_TIMER_CONFIG 構造体に追加しました。
WdfDefaultIdleInWorkingState と WdfDefaultWakeFromSleepState レジストリ値を追加しました。
KMDF 1.7 (Windows Vista Service Pack 1;Windows Server 2008)
WdfDeviceEnqueueRequest メソッドは IRQL<=DISPATCH_LEVEL で呼び出すことができます。
指定した作業項目が既に作業項目キューにある場合は、 WdfWorkItemEnqueue メソッドを呼び出すことができます。
EvtDeviceArmWakeFromSxWithReason イベント コールバック関数を追加しました。
armForWakeIfChildrenAreArmedForWake メンバーと IndicateChildWakeOnParentWake メンバーをWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS構造体に追加しました。
KMDF 1.5 (Windows Vista)
DriverPoolTag メンバーをWDF_DRIVER_CONFIGに追加しました。
KMDF 1.1 (Windows バージョンではリリースされていません)
- 次のメソッド:
KMDF 1.0 (Windows バージョンではリリースされていません)
最初のリリース。