This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
Use the WDK to develop, test, and deploy drivers for Windows.
Important
Starting in May 2025, Microsoft no longer publishes older versions of Windows Drivers Kit. Use the latest release of the WDK for all driver development efforts. If you're targeting older versions of Windows, follow the guidance in theBuilding Drivers for Previous OS Releases Using the Latest Windows Driver Kit (WDK) blog post. If your development scenario isn't supported by the latest WDK, contactMicrosoft WDK Feedback for assistance.
Join the Windows Insider Program to getWDK Insider Preview builds. For installation instructions for Windows Insider Preview builds, seeInstalling preview versions of the Windows Driver Kit (WDK).
WDK is available as a NuGet package starting from version 10.0.26100.1. Access and use these packages directly from nuget.org within Visual Studio. WDK NuGet package provides a convenient way to acquire and update the WDK. It also manages dependencies such as the SDK, helping to keep the driver development toolchain current. For more information, seeInstall the latest WDK using NuGet.
Beginning with WDK version 10.0.26100.1, the WDK supports the development, testing, and deployment of drivers on ARM64 machines. You can install and run the WDK and EWDK natively on ARM64 hardware. The WDK also continues to support the emulation of x86 KMDF and UMDF 2 drivers on ARM64 hardware. You can now debug and deploy drivers to an ARM64 target machine from both ARM64 and x64 host machines. When you install the WDK or EWDK on ARM64 machines, the process automatically identifies and installs all necessary dependencies, including build tools, binaries, and libraries.
Step 1: Install Visual Studio 2022The WDK requires Visual Studio. For more information about system requirements for Visual Studio, seeVisual Studio 2022 System Requirements.
Driver development for this release is supported in Visual Studio 2022 Community, Professional, or Enterprise edition.
When you install Visual Studio 2022, select theDesktop development with C++ workload. Then, under Individual Components, add:
Tip
Use the Search box to look for "64 latest spectre" (in English installations) or "64 latest" (in non-English installations) to quickly see these components.

Note
TheDesktop development with C++ workload doesn't install the Windows SDK 10.0.26100.1.
Step 2: Install the SDKInstalling Visual Studio doesn't download the latest SDK version. Use the following link to install the latest SDK version:
The provided links for the SDK and the WDK have matching build numbers, which is always required for the kits to work together. If you decide to install your own SDK/WDK pair, perhaps for a different Windows version, make sure that the build numbers match. For more information, seeKit versioning.
Step 3: Install the WDKStarting with version 17.11.0, the WDK VSIX is included as an individual component in Visual Studio. Before installing the WDK, the installer checks if a compatible version of the VSIX is already installed. If the installer doesn't find the WDK VSIX, it prompts you to install it. To install the WDK VSIX, launch the Visual Studio Installer, selectModify, go to theIndividual Components tab, addWindows Driver Kit, and then selectModify.

Tip
If you can't find driver project templates in Visual Studio, the WDK Visual Studio extension didn't install properly. To resolve this issue, launch Visual Studio Installer, selectModify, addWindows Driver Kit in theIndividual Component tab, and selectModify.
Enterprise WDK (EWDK)Instead of downloading Visual Studio, the SDK, and the WDK separately, you can download the EWDK. The EWDK is a standalone, self-contained command-line environment for building drivers. It includes Visual Studio Build Tools, the SDK, and the WDK.
The latest public version of the EWDK contains Visual Studio 2022 Build Tools 17.11.4 and MSVC toolset v14.41.
The EWDK also requires the .NET Framework version 4.7.2. For more information about other requirements for the .NET Framework, see.NET Framework system requirements.
After you download the ISO, use these steps to set up your build environment:
"C:\Program Files\Microsoft Visual Studio\2022\%Community|Professional|Enterprise%\Common7\IDE\devenv.exe"You can optionally use the Visual Studio interface with the build tools provided in the EWDK. To use the Visual Studio interface, make sure that the Visual Studio major version matches the version of the Visual Studio Build Tools in the EWDK. For example, Visual Studio 2022 works with the EWDK that contains VS17.X build tools. For a list of Visual Studio 2022 version numbers, seeVisual Studio 2022 Releases.
A full kit build string includes as its last two components, the build number and a QFE (Quick Fix Engineering) value. For example, 10.0.22621.2428 has a build number of 22621, and a QFE value of 2428.
To build a driver, thebuild number of your SDK installation must match thebuild number of your WDK installation. The QFE values don't need to match unless your driver uses functionality that is only available in the headers included with a later QFE.
A quick way to see the full build string for locally installed kits is to go to Windows settings (Win+I), navigate toApps, thenInstalled apps, and in theSearch box typekit. The full build string appears to the right of the kit name. If you navigate toC:\Program Files (x86)\Windows Kits\10\Include, the QFE shown is hardcoded to.0. So, the directory name isn't a reliable way to check your QFE identifier. When you install a kit, the new installation replaces any previously existing installation of the same build number. When you install Visual Studio with theDesktop development with C++ workload, if the installation payload includes the Windows SDK, the right-hand Summary pane also shows a hardcoded.0 for QFE.
Download the driver samples in one of these ways:
Was this page helpful?
Need help with this topic?
Want to try using Ask Learn to clarify or guide you through this topic?
Was this page helpful?
Want to try using Ask Learn to clarify or guide you through this topic?