Como descarregar um driver do Windows?

Como descarregar um driver do Windows?

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_STOPPABLEbandeira 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 installBTW).

informação relacionada