Ich suche nach einer cmd-line-Lösung fürStoppen eines Windows-Treibersdie ich manuell installiert hatte.
Das Installationsverfahren war das folgende:
sc create MyDrv type= kernel start= demand binPath= "C:\MyDrv.sys"
net start MyDrv
Abfrage von Informationen zu den Treiberausgaben:
C:\>sc query MyDrv
SERVICE_NAME: MyDrv
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
Die NOT_STOPPABLE
Flagge scheint ein deutlicher Hinweis darauf zu sein, dass das, was ich erreichen möchte, nicht möglich ist.Jedoch, dieser Treiber gehört zu einer Anwendung, die es schafft, ihn zu stoppen und zu entfernen, wenn ich die Anwendung von meinem PC deinstalliere. Gibt es also eine Möglichkeit, diesen Mistkerl zu töten? (Ich habe leider nicht den Quellcode des Treibers).
Falls Sie sich fragen, ja, ich habe es versucht:
C:\>net stop MyDrv
The requested pause or stop is not valid for this service.
More help is available by typing NET HELPMSG 2191.
Antwort1
WENN
es sich um einen tatsächlichen Treiber und nicht um einen Dienst handelt
und
Sie ihn problemlos im Gerätemanager deaktivieren/aktivieren können,
können
Sie wahrscheinlich „Devcon“ verwenden, um ihn in Batches und Cmd-Eingabeaufforderungen zu deaktivieren und zu aktivieren.
Andernfalls
ist es gut, den tatsächlichen Dienstnamen zu kennen, wie er in den Eigenschaften des Dienstes angezeigt wird.
Bei
Diensten mit Treibern ist das Deaktivieren des Treibers möglicherweise einfacher als das Deaktivieren des Dienstes.
entschuldigen Sie, ich war durch den Code verwirrt :-) Das klingt nach einer wirklich heiklen Sache, für die Sie möglicherweise etwas anderes in der Registrierung einstellen müssen oder die Sie besser verstehen müssen als meinen Beitrag hier.
Es ist nicht einfach, das richtige devcon für 64 Bit zu finden, und die falschen Versionen für das Betriebssystem oder die Bits funktionieren überhaupt nicht. Wenn Sie also devcon ausprobieren, müssen Sie das richtige für das genaue System haben, das Sie nicht verraten haben.
Heißt es wirklich Mydrv? Es könnte hilfreich sein, den tatsächlichen Namen oder das Produkt zu kennen. Den Treiber zu verschleiern, um Antworten zu erhalten, ist hier wahrscheinlich nicht sinnvoll.
Antwort2
Die App, die es installiert hat, ruft wahrscheinlich eine spezielle Funktion im Treiber auf oder sendet ihm eine sorgfältig formulierte Nachricht, um ihn anzuweisen, ordnungsgemäß heruntergefahren zu werden.
Antwort3
Verwenden Sie die Linie
devcon remove full_drivername_and_path
z.B
devcon remove root\kmdfHelloWorld
Bei mir hat es funktioniert (ich habe devcon install
es übrigens verwendet).