Как я могу разработать драйвер окон, который не касается аппаратных средств?

Я должен создать драйвер WDM, который эмулирует устройство, которое не присутствует. Драйвер должен быть загружен, когда O/S загружается, открытый и закрытый через SetupDiXXX и CreateFile, потребности ответить на 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"
6
задан Clay 22 December 2009 в 04:18
поделиться

1 ответ

Сам ответил:

Я изменил INF, включив в него следующее:

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

"\ ipm1" новый, и в моих глазах это немного вуду. Я получил это из примера в книге Криса Кэнта «Написание драйверов устройств Windows WDM»

. Большое изменение заключается в использовании мастера «Добавить новое оборудование» с панели управления для установки драйвера. Щелчка правой кнопкой мыши для установки INF недостаточно. Я подозреваю, что причина в том, что он вызывает диспетчер PnP, который правильно не может найти оборудование для управления драйвером.

4
ответ дан 17 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: