159、PCIE Windows驱动INF文件:从蓝屏到稳定的实战笔记

📅 2026/7/3 7:12:46 👁️ 阅读次数 📝 编程学习
159、PCIE Windows驱动INF文件:从蓝屏到稳定的实战笔记

159、PCIE Windows驱动INF文件:从蓝屏到稳定的实战笔记

调试间里烟雾缭绕——不是真的烟,是工程师的焦虑。昨天测试组报上来第七个蓝屏案例,BugCheck代码0x116,指向我们新开发的PCIe采集卡驱动。问题诡异在于:开发机上一切正常,一到客户的生产环境就随机崩溃。打开dump文件,发现设备居然没有正确初始化,MMIO空间映射异常。经验告诉我,这八成又是INF文件在作祟。

INF文件:被低估的配置战场

很多驱动开发者把INF看作“安装说明书”,写完就丢一边。实际上在Windows驱动模型里,INF是内核模式驱动加载前最后的配置关卡。PCIe设备尤其依赖INF的正确配置,因为这里决定了设备如何向系统“自我介绍”,以及系统如何分配资源。

[Version] Signature="$WINDOWS NT$" Class=SampleDevice ; 别用Generic,否则设备管理器里找不到 ClassGuid={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} Provider=%Manufacturer% DriverVer=06/21/2023,1.0.0.1 ; 这里踩过坑:版本格式不对会直接安装失败 [Manufacturer] %Manufacturer%=MyCompany,NTamd64 ; 32位和64位要分开写,混在一起会出问题 [MyCompany.NTamd64] %DeviceDesc%=MyDevice_Install, PCI\VEN_1234&am