Windows 드라이버를 언로드하는 방법은 무엇입니까?

Windows 드라이버를 언로드하는 방법은 무엇입니까?

나는 cmd-line 솔루션을 찾고 있습니다.Windows 드라이버 중지내가 수동으로 설치한 것.

설치 절차는 다음과 같았습니다.

sc create MyDrv type= kernel start= demand binPath= "C:\MyDrv.sys"
net start MyDrv

드라이버 출력에 대한 정보 쿼리:

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

깃발 NOT_STOPPABLE은 내가 이루고자 하는 일이 이루어질 수 없다는 것을 알려주는 거대한 지표처럼 보입니다.하지만, 이 드라이버는 PC에서 애플리케이션을 제거할 때 이를 중지하고 제거하는 애플리케이션에 속합니다. 그렇다면 이 놈을 죽일 수 있는 방법은 없을까? (불행히도 드라이버의 소스 코드가 없습니다.)

궁금하신가요? 예, 시도해 보았습니다.

C:\>net stop MyDrv
The requested pause or stop is not valid for this service.
More help is available by typing NET HELPMSG 2191.

답변1


서비스가 아닌 실제 드라이버
이고 장치
관리자에서 문제 없이 비활성화/활성화할 수 있는
경우
"Devcon"을 사용하여 일괄 처리 및 cmd 프롬프트에서 비활성화 및 활성화할 수 있습니다.
그렇지 않으면
서비스인 경우 서비스 속성에 표시된 실제 서비스 이름을 아는 것이 좋습니다. 드라이버가 포함된 서비스
의 경우
서비스를 비활성화하는 것보다 드라이버를 비활성화하는 것이 더 쉬울 수 있습니다.

죄송합니다. 코드 때문에 혼란스러워졌습니다. :-) 이것은 레지스트리에서 다른 것을 설정해야 하거나 여기에 게시한 것보다 훨씬 더 잘 이해해야 할 수도 있는 실제 끈적한 것처럼 들립니다.
64bit에 적합한 devcon을 찾는 것도 쉽지 않고, OS나 Bits에 맞지 않는 버전은 전혀 작동하지 않기 때문에 devcon을 시도한다면 공개하지 않은 정확한 시스템에 맞는 버전이 있어야 합니다.

정말 Mydrv라고 하나요? 실제 이름이나 제품을 아는 것이 도움이 될 수 있으므로 답변을 얻기 위해 드라이버를 난독화(sp)하는 것은 여기서 유용하지 않을 수 있습니다.

답변2

이를 설치한 앱은 아마도 드라이버의 특수 기능을 호출하거나 드라이버가 정상적으로 종료되도록 주의 깊게 작성한 메시지를 보내는 것일 수 있습니다.

답변3

라인을 이용하세요

devcon remove full_drivername_and_path

예를 들어

devcon remove root\kmdfHelloWorld

그것은 나를 위해 일했습니다 (BTW를 사용했습니다 devcon install).

관련 정보