Domanda

Ho bisogno di creare un driver WDM che emula un dispositivo che non è presente. Il conducente deve essere caricato quando l'O / S stivali, aperto e chiuso tramite SetupDiXXX e CreateFile, deve rispondere a DeviceIoControl, ecc

Ho l'autista codificato, ma XP si rifiuta di caricarlo. Il visualizzatore di eventi di sistema, dice:

  

Il servizio non è riuscito a MyDevice   stato avviato per il seguente errore:   il servizio non può essere avviato, sia   perché è disabilitato o perché non   non ha periferiche associate   esso.

Premesso questo, credo che il problema sia nel file INF (riferimento sottoindicato). È? Come devo fare per risolverlo?

;; 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"
È stato utile?

Soluzione

Auto ha risposto:

Ho cambiato l'INF per includere quanto segue:

  

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

Il "\ ipm1" è nuovo, e un po 'voodoo nei miei occhi. Ho presa da un esempio in "Drvers dispositivo di scrittura di Windows WDM" di Chris Cant.

Il grande cambiamento sta usando la procedura guidata "Nuovo hardware" dal pannello di controllo per installare il driver. Pulsante destro del mouse l'installazione del file INF non è sufficiente. Ho il sospetto che il motivo è che invoca il manager PnP che non riesce correttamente per trovare l'hardware per il conducente di controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top