我需要创建一个模拟不存在的设备的 WDM 驱动程序。O/S启动时需要加载驱动,通过SetupDiXXXand打开和关闭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 服务"