Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

最新WDKと24H2

最新WDKと24H2

WDK 配布サイトで公開の最新バージョンは、10.0.26100.2454 だが リリース ノート https://learn.microsoft.com/en-us/windows-hardware/drivers/wdk-release-notes には以下が掲載されていて、20204年の秋以降何回か入れ替えたので、段階的に機能追加されている。

Released March 14, 2025.
Version 10.0.26100.2161
Version 10.0.26100.1882
Version 10.0.26100.1591

一方でこれまでは、事前評価版の配布もとである、Preview Windows Insider での配布内容は、DevもCanary も、10.0.26100.1 と古すぎて、役に立たない。

ということで以降は2024年 11月末時点で最新版の 10.0.26100.2454 を対象として紹介するが、10.0.26100.* シリーズは過去何回か更新されて来たので、今後も更新される可能性がある。

Windows Update で Windows ビルド番号がときどき更新される様に、今後もWDK、SDK のバージョン番号も随時更新される可能性がある。
ちゅういされたい。

配布先は、「WDK」検索ですぐに見つかる以下である。前述の通りWDKのバージョン変更に備えてなのかが不明であるが、WDK のダウンロード先は固定リンクではない。

https://learn.microsoft.com/windows-hardware/drivers/download-the-wdk

今回というか、24H2世代における大きな変更点は、Visual Studioへのドライバー開発環境とテンプレートをインストールするVSIXが Visual Studio のオプションコンポーネントに移動したことである。
Windows Driver Kit の名目でオプション選択するこのコンポーネントを未インストールの環境に WDK をインストールしようとすると次の警告メッセージが出力されて、WDK インストールが失敗する。

主な変更内容

https://learn.microsoft.com/windows-hardware/drivers/wdk-release-notes

release-notes による主な変更内容は次の通りである。

- KASAN のサポート
- Azure File Sync
- WDK MSI の更新
- WDK VSIX は、VS 17.11 リリース以降の Visual Studio の個々のコンポーネントとして追加
- オーディオ ヘッダー
- 静的ツール のロゴ - ドライバー検証ログの作成(VDL)
- 静的ツール のロゴ - CodeQL SARIF ファイルの配置要件
- UMDF WiFiCX ドライバー
- デバイスの基礎と WDTF テスト フレームワークのバグ修正

WDK MSI の更新も含む、前述の WDK VSIX 別コンポーネント化以外の主な更新を簡単に説明する。

KASAN のサポート

Windows ドライバーでサポートされている無効なメモリ アクセス検出のバグ検出テクノロジ Kernel Address Sanitizer (KASAN) のサポート

詳細は カーネル アドレスサニタイザー (KASAN) 参照

Azure File Sync

Azure ファイル同期の再解析タグ定義の更新

詳細は Azure File Sync エージェント v18.2 リリース – 2024 年 7 月 参照

詳細は 修正された機能強化と問題 参照

オーディオ ヘッダー

audioAggregation. hとaudioSensors.hを追加し、SoundWire Device Class for Audio (SDCA) スピーカーアグリゲーションと超音波サポートを有効化

静的ツール のロゴ - ドライバー検証ログの作成機能追加

ドライバー検証ログの作成方法 参照

静的ツール のロゴ - CodeQL SARIF ファイルの配置要件

静的ツール のロゴ - GutHub CodeQL SARIF ファイルの配置要件緩和 参照

SARIF ファイルを GitHub にアップロードする 参照

UMDF WiFiCX ドライバー

UMDF WiFiCX ドライバーをサポートするために、UMDF パブリック ヘッダーとライブラリのサポートが追加により、WiFiCX ドライバーがこれまでのKMDFに加えて、UMDF でも開発可能になる。

Wi-Fi WDF クラス拡張機能 (WiFiCx) の概要 参照

インストール手順

Visual Studio 2022インストールし、個別オプションを設定した以降のインストール手順を説明する。

手順 2: SDK のインストール

Windows Driver Kit (WDK) のダウンロード 掲載のインストール手順では、「手順 2: SDK のインストール」として、Windows SDK 10.0.26100.1742 のダウンロード からのインストールを推奨している。

実験したところ、一般的なドライバー開発が中心の場合はこのSDKを別途インストールしなくても、Visual Studio のオプションでインストールしたものでも代用が可能である。

SDK の詳細バージョンが異なるため、アプリケーション開発では注意が必要であるが、ドライバー開発が中心で、同様のドライバー開発環境を複数運用している場合には、SDK 更新のメンテナンスの煩雑さを考慮すると、常時全ての開発環境において、SDK をインストールする必要は無い。しかし重要な製品開発時など、最新のSDKやWDKをインストールするためには、各ダウンロードサイトに注意しておいては、必要に応じてダウンロード、上書きインストール再インストールをお勧めする。

手順 3: WDK のインストール

前述のWDK ダウンロードサイトからダウウンロードしてインストールする。
SDK の場合とは異なり、異なるバージョンの上書きインストールが可能である。
SDK はメインバージョン(最後の小数点一桁)が異なるバージョンはインストールできないため、新しいSDKインストールの際は、古い SDK を一旦アンインストールしておく必要がある。

ビルドオプション

WDK のインストールが完了すれば、ドライバー開発は可能であるが、オプション設定の注意が以下の2項ある。

1. UMDF2Driver1のプロパティ
Inf2Cat → Use Local Time → はい

2. UMDF2Driver1のプロパティ
Driver Signing → Sign Mode → Off

ドライバー署名の強制を無効

テンプレートやGitHub の Windows Driver Samples を利用することで、すぐにドライバーをビルド出来る。
GitHub の Windows Driver Samples の多くは、テスト用もアプリケーションのプロジェクトのソースも付属していて、ドライバーと同時にビルド出来る。

ドライバーを実行してテストするためには、一時的に実行環境の「ドライバー署名の強制を無効」に設定する点に注意が必要である。

これは一般的には、Shiftキー再起動 → ドライバー署名の強制を無効に設定して、再起動することで実行するが、裏技としては、セキュアブートを無効化した上で管理者権限で次のコマンド実行でエントリーを「 Debug」名を付けてコピー。

bcdedit /copy {current} /d "Windows 11 Debug"

コピー完了後は、msconfig コマンド で Debug エントリーの設定変更後、作成した「 Debug」エントリーで再起動。

再起動後は、次の testsigning on オプションを「 Debug」エントリーに付加することで、デバッグ時は常時「ドライバー署名の強制を無効」状態となる。

bcdedit /set {current} testsigning on

BCDEdit でデフォルトのブートエントリーを設定し治すだけで、いつでも正常運用状態に復帰可能。

以上。