Windows hardware developer documentation

Learn how to design, develop, and deploy hardware and device drivers for Windows PCs and other devices.

Driver platforms and frameworks


Write a Hello World Windows Driver

Learn how to write a very small Windows Driver using KMDF.

Get started with Windows drivers

Write a single driver package that runs across multiple device types.

Add boot entries

A boot entry is a set of options that define a load configuration for an operating system or bootable program.

Edit boot options

Learn how to customize boot options.

Use Device Manager to uninstall devices and driver packages

Device Manager is a Control Panel application that allows you to manage devices and drivers.

Create a new shipping label

Use this method in the Microsoft Hardware API to create a new shipping label.

Manage shipping labels

Learn how to manage shipping labels for your Windows Hardware dashboard submissions.

Get a code signing certificate

Learn how to get a code signing certificate to secure your digital information.


Partner Center for Windows Hardware

Learn how to create and manage system and driver submissions quickly and easily.

What's new in driver development

Learn about the latest driver development features in Windows 11.

Overview of Driver Technologies

Entryway to specific Windows driver models, from Bluetooth to USB and more.

Bug Check Code Reference

This section contains descriptions of common bug check codes, including the parameters displayed with the error code on the blue bug check screen.

Driver Verifier

Driver Verifier monitors Windows kernel-mode drivers and graphics drivers to detect illegal function calls or actions that might corrupt the system.

Windows Device Console (Devcon.exe)

DevCon is a command-line tool that displays detailed information about devices on computers running Windows.

WinUSB (Winusb.sys)

This section describes the generic WinUSB driver (Winusb.sys) and its user-mode component (Winusb.dll) provided by Microsoft for all USB devices.