随着 Windows 11 的普及,越来越多的软硬件开发者开始面向该平台进行驱动开发。本教程将手把手教你如何基于 Visual Studio 2022 和 Windows Driver Kit (WDK) 开发一个简单的内核模式驱动程序,最终完成驱动的加载与测试。
一、开发环境准备
1. 安装 Visual Studio 2022
选择带有“使用 C++ 的桌面开发”组件的版本(推荐专业版及以上),并勾选:
2. 安装 WDK for Windows 11
下载地址:https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
确保版本匹配你的 Windows 11 系统和 VS2022。
二、新建驱动项目
1. 打开 Visual Studio 2022
依次点击:
文件 -> 新建 -> 项目 -> 驱动程序 -> 内核模式驱动(KMDF)
2. 配置项目
三、编写驱动代码
1. 添加驱动入口函数
在 Driver.c 中添加:
#include <ntddk.h>
#include <wdf.h>
DRIVER_INITIALIZE DriverEntry;
NTSTATUS
DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
UNREFERENCED_PARAMETER(RegistryPath);
DbgPrint("MySampleDriver Loaded\n");
DriverObject->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
VOID
DriverUnload(
_In_ PDRIVER_OBJECT DriverObject
)
{
UNREFERENCED_PARAMETER(DriverObject);
DbgPrint("MySampleDriver Unloaded\n");
}
2. 配置 INF 安装文件(MySampleDriver.inf)
[Version]
Signature="$WINDOWS NT$"
Class=Sample
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider=%ManufacturerName%
DriverVer=08/06/2025,1.0.0.0
[Manufacturer]
%ManufacturerName%=Standard,NTx64
[Standard.NTx64]
%DeviceName%=Install, Root\MySampleDriver
[DestinationDirs]
DefaultDestDir = 12
[Install]
CopyFiles = @MySampleDriver.sys
AddReg = AddRegSection
[AddRegSection]
HKR,,"DevLoader",0,"*ntkern"
HKR,,"NTMPDriver",0,"MySampleDriver.sys"
[SourceDisksFiles]
MySampleDriver.sys = 1
[SourceDisksNames]
1 = %DiskName%
[Strings]
ManufacturerName = "MyCompany"
DeviceName = "My Sample Driver"
DiskName = "My Sample Driver Install Disk"
四、编译与生成
五、签名测试驱动(用于测试模式)
1. 打开“测试签名模式”
bcdedit /set testsigning on
重启电脑。
2. 使用
signtool
签名(可选)
signtool sign /v /ac mycert.cer /s my /n "MyCompany" /t http://timestamp.digicert.com MySampleDriver.sys
六、安装驱动
方法 1:设备管理器安装
方法 2:使用
devcon
工具(推荐)
devcon install MySampleDriver.inf Root\MySampleDriver
七、验证驱动是否加载成功
使用“调试查看器”或“WinDbg”查看输出:
MySampleDriver Loaded
可以通过“设备管理器”确认驱动已加载。
八、卸载驱动
devcon remove Root\MySampleDriver
或者重新执行添加旧硬件,卸载当前设备。
九、实际部署注意事项
十、总结
本教程展示了如何使用 VS2022 + WDK 在 Windows 11 下开发、编译、签名并部署一个基础内核模式驱动。对于需要编写特定硬件驱动或进行系统底层拦截的开发者,这是一份可落地、可实操的起点指南。
相关教程
2025-07-19
2024-11-16
2024-10-17
2025-05-21
2024-10-12
2024-11-07
2025-07-24
2024-11-16
2024-10-11
2025-08-06
2025-08-05
2025-08-04
2025-08-04
2025-08-03
2025-07-27