我需要创建一个模拟装置,该装置中不存在的WDM驱动程序。驾驶员需要在O / S靴,打开和经由SetupDiXXXCreateFile关闭被加载,需要应对DeviceIoControl

我有驾驶员编码,但XP拒绝加载它。系统事件查看器表示:

  

在mydevice在服务未能   由于以下错误启动:   服务不能启动,可能是   因为它被禁用或者是因为它   与相关设备没有启动   它

<强>鉴于这种情况,我认为这个问题是在INF文件(下面参考)。是吗?我应该如何去修复它?

;; MyDevice.inf

[Version]
Signature="$Windows 95$"

Class=MyDeviceDeviceClass
ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b}
Provider=%ProviderName%
DriverVer= 12/21/2009,1.0.0.1

[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,,"-18"

[DestinationDirs]
MyDevice_Files_Driver = 10,System32\Drivers


[Manufacturer]
%MfgName%=Mfg0

[Mfg0]
%DeviceDesc%=MyDevice_DDI, *MyDevice


[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]
DisplayName    = %SvcDesc%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %10%\System32\Drivers\MyDevice.sys

[MyDevice_NT_AddReg]
HKLM, "System\CurrentControlSet\Services\MyDevice\Parameters","BreakOnEntry", 0x00010001, 0

[MyDevice_Files_Driver]
MyDevice.sys


[Strings]
ProviderName="Acme"
MfgName="Acme"
DeviceDesc="Acme"
DeviceClassName="Device class for MyDevice"
SvcDesc="MyDevice NT service"
有帮助吗?

解决方案

自回答:

我改变了INF以包括以下内容:

  

[Mfg0]   %DeviceDesc%= MyDevice_DDI,* mydevice在\ IPM1

在“\ IPM1”是新的,在我的眼睛有点巫术。我从克里斯广东话的“写作的Windows WDM设备Drvers”的一个例子得到了它。

大的变化是使用从控制面板“添加新硬件”向导安装驱动程序。右键单击安装INF是不够的。我怀疑原因是,它调用PnP管理其正确未能找到硬件为驾驶者控制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top