gpt4 book ai didi

windows - 如何开发不接触硬件的 Windows 驱动程序?

转载 作者:可可西里 更新时间:2023-11-01 13:26:44 26 4
gpt4 key购买 nike

我需要创建一个 WDM 驱动程序来模拟一个不存在的设备。 O/S启动时需要加载驱动,通过SetupDiXXXCreateFile打开和关闭,需要响应DeviceIoControl等。

我已经编写了驱动程序代码,但 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=MyDeviceDeviceClassClassGUID={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_DriverAddReg=MyDevice_9X_AddReg[MyDevice_DDI.NT]CopyFiles=MyDevice_Files_DriverAddReg=MyDevice_NT_AddReg[MyDevice_DDI.NT.Services]Addservice = MyDevice, 0x00000002, MyDevice_AddService[MyDevice_AddService]DisplayName    = %SvcDesc%ServiceType    = 1StartType      = 3ErrorControl   = 1ServiceBinary  = %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"

最佳答案

self 回答:

我更改了 INF 以包含以下内容:

[Mfg0] %DeviceDesc%=MyDevice_DDI, *MyDevice\ipm1

“\ipm1”是新的,在我看来有点巫术。我从 Chris Cant 的“编写 Windows WDM 设备驱动程序”中的一个示例中得到它。

最大的变化是使用控制面板中的“添加新硬件”向导来安装驱动程序。右键单击安装 INF 是不够的。我怀疑原因是它调用了 PnP 管理器,该管理器无法正确找到驱动程序控制的硬件。

关于windows - 如何开发不接触硬件的 Windows 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com