DiUninstallDriverW 함수(newdev.h)
DiUninstallDriver 함수는 일치하는 다른 드라이버 패키지(사용 가능한 경우)를 사용하여 해당 디바이스를 설치하거나, 일치하는 다른 드라이버 패키지가 없는 경우 null 드라이버를 설치하여 설치된 모든 장치에서 드라이버 패키지를 제거합니다. 그런 다음 지정된 드라이버 패키지가 드라이버 저장소에서 제거됩니다.
통사론
BOOL DiUninstallDriverW(
[in, optional] HWND hwndParent,
[in] LPCWSTR InfPath,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
매개 변수
[in, optional] hwndParent
DiUninstallDriver
[in] InfPath
드라이버 패키지INF 파일의 정규화된 경로를 제공하는 NULL로 끝나는 문자열에 대한 포인터입니다.
[in] Flags
다음 플래그 중 0개 이상을 지정하는 DWORD 형식의 값입니다. DIURFLAG_NO_REMOVE_INF. 일반적으로 이 플래그는 0으로 설정해야 합니다.
이 플래그가 0이면 DiUninstallDriver 일치하는 다른 드라이버 패키지와 함께 해당 디바이스를 설치하여 설치된 장치에서 드라이버 패키지를 제거하거나, 다른 일치하는 드라이버 패키지를 사용할 수 없는 경우 null 드라이버를 제거합니다. 그러나 이 플래그가 DIURFLAG_NO_REMOVE_INF 설정된 경우 DiUninstallDriver 설치된 장치에서 드라이버 패키지를 제거하지만 드라이버 저장소에서 드라이버 패키지를 제거하지는 않습니다.
[out, optional] NeedReboot
제거를 완료하는 데 시스템 다시 시작이 필요한지 여부를 나타내기 위해 DiUninstallDriver
반환 값
DiUninstallDriver 함수가 설치된 장치에서 드라이버 패키지 성공적으로 제거하고 시스템의 드라이버 저장소에서 성공적으로 제거되면 TRUE 반환합니다. 드라이버 패키지가 드라이버 저장소에서 성공적으로 제거되지 않은 경우
반환 코드 | 묘사 |
---|---|
|
호출자에게 관리자 권한이 없습니다. 기본적으로 Windows에서는 호출자에게 |
|
지정된 INF 파일의 경로가 없습니다. |
|
Flags 지정된 값이 0 또는 DIURFLAG_NO_REMOVE_INF 같지 않습니다. |
|
호출 애플리케이션은 64비트 환경에서 실행하려고 시도하는 32비트 애플리케이션으로, 허용되지 않습니다. 자세한 내용은 64비트 시스템디바이스 설치 |
발언
일반적으로 제거 애플리케이션은 제거를 완료하기 위해 다시 시작해야 하는 경우 사용자에게 시스템을 다시 시작하라는 메시지를 표시하도록
-
응용 프로그램은 DiUninstallDriver 여러 번 호출하여 제거를 완료해야 합니다. 이 경우 애플리케이션은
TRUE NeedReboot 값이DiUninstallDriver 호출에 의해 반환되는지 여부를 기록해야 하며, 이 경우 diUninstallDriver 반환할최종 호출 후 시스템을 다시 시작하라는 메시지를 사용자에게 표시합니다. - 애플리케이션은 시스템 다시 시작이 발생하기 전에 DiUninstallDriver호출하는 것 외에 필요한 작업을 수행해야 합니다. 시스템 다시 시작이 필요한 경우 애플리케이션은 필요한 작업을 완료한 다음 사용자에게 시스템을 다시 시작하라는 메시지를 표시해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 1703 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 바탕 화면 |
헤더 | newdev.h(Newdev.h 포함) |
라이브러리 | Newdev.lib |