当前位置: win11系统之家 >  微软资讯 >  Windows 11 驱动开发实战教程(基于 VS2022):学习如何使用最新的开发工具进行驱动程序开发

Windows 11 驱动开发实战教程(基于 VS2022):学习如何使用最新的开发工具进行驱动程序开发

更新时间:2025-08-06 15:34:10作者:relsound

Windows 11 驱动开发实战教程(基于 VS2022):学习如何使用最新的开发工具进行驱动程序开发




随着 Windows 11 的普及,越来越多的软硬件开发者开始面向该平台进行驱动开发。本教程将手把手教你如何基于 Visual Studio 2022 和 Windows Driver Kit (WDK) 开发一个简单的内核模式驱动程序,最终完成驱动的加载与测试。





一、开发环境准备




1. 安装 Visual Studio 2022



选择带有“使用 C++ 的桌面开发”组件的版本(推荐专业版及以上),并勾选:


Windows 11 SDKWindows 驱动程序开发工具(WDK)




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. 配置项目



项目名称:MySampleDriver目标平台:x64驱动模型:KMDF(推荐)选择“空白驱动程序”模板






三、编写驱动代码




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"





四、编译与生成



右键项目 → 生成。确保无错误后,输出目录中有 .sys 和 .inf 文件。






五、签名测试驱动(用于测试模式)




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:设备管理器安装



打开“设备管理器” → 添加旧硬件浏览 .inf 安装驱动安装完成后,重启生效




方法 2:使用

devcon

工具(推荐)


devcon install MySampleDriver.inf Root\MySampleDriver





七、验证驱动是否加载成功



使用“调试查看器”或“WinDbg”查看输出:

MySampleDriver Loaded

可以通过“设备管理器”确认驱动已加载。





八、卸载驱动


devcon remove Root\MySampleDriver

或者重新执行添加旧硬件,卸载当前设备。





九、实际部署注意事项



驱动发布前必须使用正式签名证书请勿在生产环境长期启用测试签名模式编写错误处理与稳定性校验代码,提升驱动质量






十、总结

本教程展示了如何使用 VS2022 + WDK 在 Windows 11 下开发、编译、签名并部署一个基础内核模式驱动。对于需要编写特定硬件驱动或进行系统底层拦截的开发者,这是一份可落地、可实操的起点指南。

相关教程