示例内核模式驱动程序

WDK 提供了各种内核模式驱动程序示例。 安装 WDK 后,src\general 子目录包含适用于所有内核模式驱动程序的示例驱动程序代码。 这些示例也会在线维护。 包括如下示例:

DCHU

应用 DCH 设计原则(声明式、组件化和硬件支持应用程序 [HSA])。 可以将其作为自己的 Windows 驱动程序包的范本。

PLX9x5x

此示例演示如何使用 Windows 驱动程序框架为通用 PCI 设备编写驱动程序。

SimpleMediaSource

此示例演示了如何创建自定义媒体源和驱动程序包,该包可作为相机安装并生成帧。

SystemDma/wdm

此示例演示了 V3 系统 DMA 的使用。 它介绍了驱动程序如何使用 Windows 支持的系统 DMA 控制器,通过 DMA 将数据写入硬件位置。

cancel

演示可安全取消的 IRP 队列的用法。

echo

event

演示了内核模式驱动程序在应用程序要求通知硬件事件时可用于通知应用程序的技术。 一种技术使用事件对象,另一种技术依赖于在发生事件之前对通知请求进行排队

IOCTL 示例

演示驱动程序应如何支持 I/O 控制代码。

obcallback

ObCallback 示例驱动程序演示了如何使用注册回调来保护进程。 驱动程序会注册控制回调,该回调会在创建进程时调用。

pcidrv

此示例演示如何为 PCI 设备编写 KMDF 驱动程序。 此示例适用于基于 Intel 82557/82558 的 PCI 以太网适配器 (10/100) 和 Intel 兼容设备。

perfcounters/kcs

Kcs 示例驱动程序演示了内核模式性能库的使用。

registry/regfltr

RegFltr 示例展示了如何编写注册表筛选器驱动程序。

吐司炉

为一组符合 Windows 驱动程序模型 (WDM) 的驱动程序提供示例代码。 此示例还包括安装软件示例。

tracedrv

演示如何使用 WPP 软件跟踪

UMDF 驱动程序框架示例

此示例演示了如何使用第 1 版用户模式驱动程序框架来编写最小驱动程序。

用于 HID 设备的 Firefly KMDF 筛选器驱动程序 除说明如何编写筛选器驱动程序外,此示例还展示了如何使用远程 I/O 目标接口在内核模式下打开 HID 集合并发送 IOCTL 请求以设置和获取特征报告,以及应用程序如何使用 WMI 接口向筛选器驱动程序发送命令。

\src 目录的其他子目录包含各类硬件内核模式驱动程序的示例代码。

另请参阅

GitHub 上的 Microsoft Windows 驱动程序示例