160、PCIE Windows驱动安装与测试:从蓝屏到稳定的实战笔记
160、PCIE Windows驱动安装与测试:从蓝屏到稳定的实战笔记那天下午,实验室的机器又蓝屏了。屏幕上一串熟悉的错误代码:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED,后面跟着我那刚写完的PCIE驱动文件名。同事走过来拍拍我:“又在写驱动啊?今天第几次蓝屏了?”我苦笑着重启机器,打开WinDbg准备分析dump文件。这就是PCIE驱动开发的日常——你写的代码运行在内核态,一个指针错误就能让整个系统崩溃。驱动开发环境搭建工欲善其事,必先利其器。Windows驱动开发不是随便开个Visual Studio就能开始的。你需要WDK(Windows Driver Kit),我习惯用Visual Studio 2019配合WDK 1903版本,这个组合比较稳定。安装时记得勾选“Driver Development”组件,不然连驱动项目模板都看不到。装完打开VS,新建项目时选择“Kernel Mode Driver, Empty (KMDF)”。别选WDM那个,那是上古时代的产物了。KMDF(Kernel-Mode Driver Framework)抽象得好,代码写起来舒服不少。INF文件那些坑INF文件是驱动的“安装说明书”,这里踩过的坑能填满一个游泳池。最经典的是这个:[Version] Signature="$WINDOWS NT$" Class=System ClassGuid={4d36e97d-e325-1