Estou procurando uma solução cmd-line paraparar um driver do Windowsque eu instalei manualmente.
O procedimento de instalação foi o seguinte:
sc create MyDrv type= kernel start= demand binPath= "C:\MyDrv.sys"
net start MyDrv
Consultando informações nas saídas do driver:
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
A NOT_STOPPABLE
bandeira parece um grande indicador de que o que estou tentando realizar não pode ser feito.No entanto, este driver pertence a um aplicativo que consegue interrompê-lo e removê-lo quando eu desinstalo o aplicativo do meu PC. Então, há alguma maneira de matar esse bastardo? (Não tenho o código fonte do driver, infelizmente).
Se você está se perguntando, sim, eu tentei:
C:\>net stop MyDrv
The requested pause or stop is not valid for this service.
More help is available by typing NET HELPMSG 2191.
Responder1
SE
for um driver real, não um serviço
, e
você puder desabilitá-lo/habilitá-lo no gerenciador de dispositivos sem problemas,
então
você provavelmente poderia usar "Devcon" para desabilitá-lo e ativá-lo em lotes e prompts de cmd.
Caso contrário
, se for um serviço, é bom saber o nome real do serviço, conforme visto nas propriedades do serviço.
Para
serviços com drivers, desabilitar o driver pode ser mais fácil do que desabilitar o serviço.
desculpe, fiquei confuso com o código :-) Essa coisa parece realmente pegajosa, o que pode exigir a configuração de algo diferente no registro ou a compreensão muito melhor do que minha postagem aqui.
Encontrar o devcon adequado para 64 bits não é fácil, e as versões erradas para o sistema operacional ou Bits não funcionam de jeito nenhum, então se você tentar o devcon, você deve ter o correto para o sistema exato, que você não revelou.
É realmente chamado de Mydrv? porque pode ser útil saber qualquer nome ou produto real, ofuscar (sp) o driver com o propósito de obter respostas provavelmente não é útil aqui.
Responder2
O aplicativo que o instalou provavelmente está chamando uma função especial no driver ou enviando uma mensagem cuidadosamente elaborada para instruí-lo a desligar normalmente.
Responder3
Use a linha
devcon remove full_drivername_and_path
por exemplo
devcon remove root\kmdfHelloWorld
Funcionou para mim (usei devcon install
BTW).