我需要创建一个模拟不存在的设备的WDM驱动程序。该驱动程序需要在O/S靴子,打开并通过SetupDiXXX
和CreateFile
关闭被加载,需要到DeviceIoControl
响应等如何开发不接触硬件的Windows驱动程序?
我有司机编码,但XP拒绝加载它。系统事件查看器说:
The MyDevice service failed to start due to the following error: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.
鉴于此,我认为这个问题是在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"
我不知道答案,但像Null-modem模拟器(http://com0com.sourceforge.net/)这样的项目表明它是可能的。也许你可以通过查看这个项目来收集一些东西? –
com0com驱动程序接近我所需要的,但不是100%的解决方案:我还必须从控制面板“添加新硬件”安装驱动程序。只需右键单击安装INF是不够的。 – Clay