Wie kann ich Windows-Treiber zu entwickeln, die keine Hardware nicht berührt?
Frage
Ich brauche einen WDM-Treiber zu erstellen, die ein Gerät emuliert, die nicht vorhanden ist. Der Fahrer muss geladen werden, wenn die O / S Stiefel, geöffnet und geschlossen über SetupDiXXX
und CreateFile
, Bedürfnisse zu reagieren auf DeviceIoControl
etc.
Ich habe die Treiber codiert, aber XP weigert sich, es zu laden. Das System Ereignisanzeige sagt:
Der MyDevice Dienst nicht Start aufgrund der folgenden Fehler: Die Dienst kann nicht gestartet werden, entweder weil es deaktiviert ist oder weil es keine aktivierten Geräte zugeordnet es.
Da, denke ich, das Problem in der INF-Datei ist (Referenz unten). Ist es? Wie soll ich mich über die Festsetzung es?
;; 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"
Lösung
Selbst antwortete:
änderte ich den INF gehören die folgenden:
[Mfg0] % DeviceDesc% = MyDevice_DDI, * MyDevice \ IPM1
Die „\ IPM1“ ist neu und ein wenig Voodoo in meinen Augen. Ich habe es von einem Beispiel in Chris Cant des "Schreiben von Windows WDM-Gerät Drvers".
Die große Veränderung wird mit dem „Hardware“ Assistenten über das Bedienfeld den Treiber zu installieren. Rechtsklick auf das INF Installation ist nicht genug. Ich vermute, dass der Grund dafür ist, dass es den PnP-Manager ruft die korrekte Hardware für den Fahrer Steuerung finden kann.