次の方法で共有


WDK を使用した Arm64 ドライバーのビルド

WDK バージョン 10.0.26100.1 (2024 年 5 月 22 日リリース) 以降、WDK では Arm64 マシンでのドライバーの開発、テスト、展開がサポートされるようになりました。 WDK は、Arm64 ハードウェアで以前にサポートされていた x86 KMDF/UMDF2 ドライバーのエミュレーションに加えて、Arm64 ハードウェアにネイティブにインストールして実行できます。 Arm64 と x64 の両方のホスト マシンから Arm64 ターゲット コンピューターへのドライバーのデバッグと展開もサポートされています。 Arm64 マシンに WDK をインストールするプロセスでは、ビルド ツール、バイナリ、ライブラリなど、必要なすべての依存関係が自動的に識別され、インストールされます。

このページでは、WDK を使用して Arm64 ドライバーをビルドする方法について説明します。

設定

  1. Visual Studio 2022 をダウンロードします。 最小バージョン 17.0.0 以降が必要です。 次のコンポーネントがインストールされていることを確認します。

    • MSVC v143 - VS 2022 C++ ARM64/ARM64EC Spectre対策済みライブラリ (最新)
    • MSVC v143 - VS 2022 C++ x64/x86 Spectre 軽減ライブラリ (最新)
    • 最新の v143 ビルド ツール (ARM64/ARM64EC) に対応した Spectre 軽減策付き C++ ATL
    • Spectre 軽減策を使用した最新の v143 ビルド ツール用 C++ ATL (x86 および x64)
    • Spectre 軽減策を使用した最新の v143 ビルド ツール用 C++ MFC (ARM64/ARM64EC)
    • Spectre 軽減策を使用した最新の v143 ビルド ツール用 C++ MFC (x86 および x64)
    • Windowsドライバ キット
  2. Visual Studio をインストールして再起動します。

  3. Windows SDK をダウンロードします。 SDK バージョン 26100 (Windows 11 バージョン 24H2) 以降があることを確認します。

  4. WDK をダウンロードします。 WDK バージョン 26100 以降があることを確認します。

WDK を使用した Arm64 ドライバーの構築

  1. Visual Studio で、ドライバー ソリューションを開きます。 独自のものを使用することも、 Windows ドライバー サンプル リポジトリから使用することもできます。

  2. [ソリューション プラットフォーム] を選択し、[ Configuration Manager] を選択します。

    ソリューション プラットフォームのドロップダウン メニューの Configuration Manager オプションを示す Visual Studio ツール バーのスクリーンショット。

  3. [ アクティブ なソリューション プラットフォーム] で、[ 新規] を選択します。

    [Active Solution Platform]\(アクティブ ソリューション プラットフォーム\) ドロップダウンで [新規] オプションが強調表示されている [Configuration Manager] ダイアログのスクリーンショット。

  4. [ 種類] または [新しいプラットフォームの選択] で、 Arm64 を選択します。 Win32 から設定をコピーします。 [ OK] を 選択して 閉じます

    ターゲット プラットフォームとして Arm64 が選択されている [新しいソリューション プラットフォーム] ダイアログのスクリーンショット。

  5. ターゲット プラットフォームとして Arm64 を選択し、リビルドします。

既知の問題

  • 統合:

    • Windows 11 バージョン 24H2 キットと Windows 11 バージョン 22H2 キットの両方がインストールされている場合、 TargetPlatformVersion Windows 11 バージョン 22H2 に設定された ARM64 用 KMDF ドライバーのビルドは、未解決の外部シンボルのために失敗します。
    • Windows 11 バージョン 22H2 WDK を使用して Visual Studio 2022 バージョン 17.2.0 および 17.3 内のドライバーをデバッグすることはできません。
  • 回避策:

    • デバッグの問題を解決するには、Visual Studio をバージョン 17.4.1 以降に更新します。
    • Visual Studio を更新するオプションがない場合は、デバッグに WinDbg を使用します。
    • 互換性の問題が解決しない場合は、以前のバージョンの Visual Studio を使用することを検討してください。

Enterprise Windows Driver Kit (EWDK) の使用

  • EWDK の概要:

    • EWDK には必要なすべての依存関係が含まれており、Visual Studio のインストールを必要とせずにドライバーをビルドするために使用できます。
  • EWDK を使用したビルド:

    • ドライバーをビルドするには、次のコマンドを使用します。

      Msbuild -p:Configuration=Release/Debug; Platform=ARM64
      

詳細については、「 Enterprise WDK (EWDK)」を参照してください。

トラブルシューティング

  • Visual Studio での構成:

    • Visual Studio で、Configuration Manager で Arm64 プラットフォームを選択し、Win32 から設定をコピーして、Arm64 のドライバー ソリューションを構成します。
  • テストとデバッグ:

    • Arm デバイス上の Windows または Windows 11 Arm64 仮想マシンでドライバーをテストおよびデバッグします。

こちらも参照ください