# microsoft/windows-driver-samples

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-windows-driver-samples).**

7,772 stars · 5,034 forks · C · MS-PL

## Links

- GitHub: https://github.com/microsoft/Windows-driver-samples
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-windows-driver-samples.md

## Description

This repository is a collection of reference source code and implementation examples for developing drivers using the Windows Driver Kit. It provides hardware device driver samples and development templates for building kernel-mode software that enables communication between the Windows operating system and hardware devices.

The library includes examples for creating universal Windows drivers, which utilize a shared set of interfaces to operate across multiple versions of the operating system. It also contains specialized implementation samples for various hardware categories, including network, storage, USB, audio, cameras, printers, and displays.

The project covers driver development workflows using the Windows Driver Kit and Visual Studio to build and test drivers.

## Tags

### Operating Systems & Systems Programming

- [Device Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation/device-drivers.md) — Provides reference implementations of kernel-mode drivers for hardware device communication and interrupt management. ([source](https://github.com/microsoft/windows-driver-samples#readme))
- [Kernel-Mode Execution Models](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-drivers/kernel-mode-implementations/kernel-mode-execution-models.md) — Implements drivers that run at the highest privilege level to interact directly with system memory and hardware.
- [Hardware Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-drivers.md) — Provides reference implementations of low-level software for communicating with and controlling specific hardware peripherals.
- [USB and Network Driver Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-drivers/usb-and-network-driver-implementations.md) — Provides specialized implementation samples for network, storage, USB, and audio hardware domains.
- [Universal Driver Development](https://awesome-repositories.com/f/operating-systems-systems-programming/universal-driver-development.md) — Provides examples for writing a single driver codebase that works across various Windows OS editions. ([source](https://github.com/microsoft/windows-driver-samples#readme))
- [Universal Driver Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/universal-driver-interfaces.md) — Implements a shared set of APIs to ensure driver binaries work across multiple Windows OS editions.
- [Universal Windows Driver Samples](https://awesome-repositories.com/f/operating-systems-systems-programming/universal-windows-driver-samples.md) — Provides sample code for creating single driver codebases that operate across multiple Windows OS editions.
- [Universal Windows Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/universal-windows-drivers.md) — Focuses on the domain of creating single-binary drivers that work across various Windows editions.
- [Windows Driver Development](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-driver-development.md) — Serves as a comprehensive resource for creating low-level software to interface Windows with hardware devices.
- [Device Stacking Architectures](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation/device-drivers/device-stacking-architectures.md) — Implements the Windows Driver Model layered hierarchy for routing requests through filter and function drivers.
- [Driver Development Templates](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation/driver-development-templates.md) — Provides pre-configured project samples for building and testing kernel-mode drivers in Visual Studio.
- [Kernel Driver Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-driver-frameworks.md) — Utilizes the KMDF framework to manage driver state and hardware events while reducing manual resource tracking.

### Education & Learning Resources

- [Windows Driver Kit Sample Libraries](https://awesome-repositories.com/f/education-learning-resources/windows-driver-kit-sample-libraries.md) — Provides a collection of reference source code and implementation examples for developing drivers using the Windows Driver Kit.

### Hardware & IoT

- [Custom Device Driver Development](https://awesome-repositories.com/f/hardware-iot/custom-device-driver-development.md) — Provides frameworks and samples for creating drivers that translate proprietary hardware signals into standardized system capabilities. ([source](https://github.com/microsoft/windows-driver-samples#readme))
- [Custom Hardware Drivers](https://awesome-repositories.com/f/hardware-iot/custom-hardware-drivers.md) — Implements event-driven logic and custom driver functionality for cameras, printers, displays, and wireless adapters.

### Development Tools & Productivity

- [Windows Driver Kit Workflows](https://awesome-repositories.com/f/development-tools-productivity/windows-driver-kit-workflows.md) — Demonstrates driver development workflows using the Windows Driver Kit and Visual Studio.

### DevOps & Infrastructure

- [Build Toolchains](https://awesome-repositories.com/f/devops-infrastructure/build-toolchains.md) — Utilizes the Windows Driver Kit and Visual Studio as an integrated toolchain for compiling and packaging kernel-mode binaries.
