從WDK 10.0.26100.1版開始(2024 年 5 月 22 日發行),WDK 現在支援在 Arm64 計算機上開發、測試及部署驅動程式。 除了先前在 Arm64 硬體上支援的 x86 KMDF/UMDF2 驅動程式模擬之外,WDK 還可以在 Arm64 硬體上以原生方式安裝及執行。 此外,也支援從 Arm64 和 x64 主機對 Arm64 目標機器進行驅動程式的偵錯和部署。 在 Arm64 電腦上安裝 WDK 的程式會自動識別並安裝所有必要的相依性,包括建置工具、二進位檔和連結庫。
此頁面說明如何使用 WDK 建置 Arm64 驅動程式。
設定
下載 Visual Studio 2022。 您至少需要 17.0.0 版或更新版本。 請確定您已安裝下列元件:
- MSVC v143 - VS 2022 C++ ARM64/ARM64EC Spectre 漏洞緩解程式庫(最新)
- MSVC v143 - VS 2022 C++ x64/x86 Spectre漏洞緩解程式庫(最新)
- C++ ATL 適用於具有 Spectre 緩解措施的最新 v143 建置工具 (ARM64/ARM64EC)
- 最新 v143 組建工具的 C++ ATL,含 Spectre 漏洞緩解措施(適用於 x86 和 x64)
- C++ MFC 適用於最新版本的 v143 建置工具,並搭載 Spectre 緩解措施(ARM64/ARM64EC)
- 最新 v143 版本的 C++ MFC 建置工具,支援 Spectre 漏洞緩解措施(x86 和 x64)
- Windows 驅動程式套件
安裝並重新啟動 Visual Studio。
下載 Windows SDK。 請確定您有 SDK 版本 26100 (Windows 11 版本 24H2) 或更新版本。
下載 WDK。 請確定您有 WDK 26100 版或更新版本。
使用 WDK 打造 Arm64 驅動程式
在 Visual Studio 中,開啟驅動程式解決方案。 您可以使用您自己的存放庫,或 Windows-driver-samples 存放庫。
選取 [解決方案平臺],然後選取 [組態管理員]。
在活動解決方案平台底下,選取新增。
從 [類型] 或 [選取新平臺],選取 [Arm64]。 從 Win32 複製設定。 選取 [確定 ] 和 [關閉]。
選取 [Arm64 ] 作為目標平臺並重建。
已知問題
整合:
- 安裝 Windows 11 版本 24H2 套件和 Windows 11 版本 22H2 套件時,建置已設定為 Windows 11 版本 22H2 的 KMDF 驅動程式 ARM64
TargetPlatformVersion,版本 22H2 會因為無法解析的外部符號而失敗。 - 無法在 Visual Studio 2022 17.2.0 版和 17.3 版中使用 Windows 11 版本 22H2 WDK 偵錯驅動程式。
- 安裝 Windows 11 版本 24H2 套件和 Windows 11 版本 22H2 套件時,建置已設定為 Windows 11 版本 22H2 的 KMDF 驅動程式 ARM64
因應措施:
- 將 Visual Studio 更新為 17.4.1 版或更新版本,以解決偵錯問題。
- 如果更新 Visual Studio 不是選項,請使用 WinDbg 進行偵錯。
- 如果相容性問題持續發生,請考慮使用舊版的Visual Studio。
使用企業 Windows 驅動程式套件 (EWDK)
EWDK 概觀:
- EWDK 包含所有必要的相依性,而且可以用來建置驅動程式,而不需要 Visual Studio 安裝。
使用 EWDK 建置:
請使用以下指令來建立驅動程式:
Msbuild -p:Configuration=Release/Debug; Platform=ARM64
如需詳細資訊,請參閱 企業 WDK (EWDK) 。
故障排除
Visual Studio 中的組態:
- 在 Visual Studio 中,選取 Configuration Manager 中的 Arm64 平臺並從 Win32 複製設定,以設定 Arm64 的驅動程序解決方案。
測試和偵錯:
- 在 Windows on Arm 裝置或 Windows 11 Arm64 虛擬機器上測試和偵錯驅動程式。