我需要创建一个模拟不存在的设备的 WDM 驱动程序。O/S启动时需要加载驱动,通过SetupDiXXX
and打开和关闭CreateFile
,需要响应DeviceIoControl
等。
我已经编码了驱动程序,但 XP 拒绝加载它。系统事件查看器说:
由于以下错误,MyDevice 服务无法启动:该服务无法启动,原因可能是它被禁用或没有与之关联的启用设备。
鉴于此,我认为问题出在 INF 文件中(参考下文)。是吗?我应该如何修复它?
;; 我的设备.inf [版本] 签名="$Windows 95$" 类=我的设备设备类 类GUID={ff646f80-8def-11d2-9449-00105a075f6b} 提供者=%ProviderName% 驱动程序版本 = 12/21/2009,1.0.0.1 [类安装32] Addreg=Class_AddReg [Class_AddReg] HKR,,,,%DeviceClassName% HKR,,图标,,"-18" [目标目录] MyDevice_Files_Driver = 10,System32\Driver [制造商] %MfgName%=Mfg0 [制造0] %DeviceDesc%=MyDevice_DDI, *MyDevice [我的设备_DDI] CopyFiles=MyDevice_Files_Driver AddReg=MyDevice_9X_AddReg [MyDevice_DDI.NT] CopyFiles=MyDevice_Files_Driver AddReg=MyDevice_NT_AddReg [MyDevice_DDI.NT.Services] Addservice = MyDevice,0x00000002,MyDevice_AddService [MyDevice_AddService] 显示名称 = %SvcDesc% 服务类型 = 1 开始类型 = 3 错误控制 = 1 ServiceBinary = %10%\System32\Drivers\MyDevice.sys [MyDevice_NT_AddReg] HKLM, "System\CurrentControlSet\Services\MyDevice\Parameters","BreakOnEntry", 0x00010001, 0 [MyDevice_Files_Driver] 我的设备.sys [弦乐] 提供者名称="Acme" MfgName="Acme" DeviceDesc="Acme" DeviceClassName="MyDevice 的设备类" SvcDesc="MyDevice NT 服务"