Pregunta

Es necesario crear un controlador WDM que emula un dispositivo que no está presente. El controlador necesita ser cargado cuando el O / S botas, abre y se cierra a través de SetupDiXXX y CreateFile, necesita responder a DeviceIoControl, etc.

Tengo el conductor codificado, pero XP se niega a cargarlo. El visor de sucesos de sistema dice:

  

El servicio no pudo MyDevice   iniciarse debido al siguiente error: el   servicio no se puede iniciar, ya sea   porque está deshabilitado o porque   no tiene dispositivos habilitados asociados a   a él.

Teniendo en cuenta que, creo que el problema está en el archivo INF (referencia más abajo). ¿Lo es? ¿Cómo debo ir sobre la fijación él?

;; 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"
¿Fue útil?

Solución

Auto respondió:

He cambiado el INF para incluir lo siguiente:

  

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

El "\ ipm1" es nueva, y un poco de vudú en mis ojos. Me lo dio un ejemplo en "Drvers dispositivo de escritura de Windows WDM" de Chris Cant.

El gran cambio está utilizando el asistente "Agregar nuevo hardware" del panel de control para instalar el controlador. Haga clic de instalar el INF no es suficiente. Sospecho que la razón es que se invoca el gestor de PnP, que no encuentra correctamente el hardware para que el conductor de control.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top