다음을 통해 공유


DiShowUpdateDevice 함수(newdev.h)

DiShowUpdateDevice 함수는 지정된 디바이스에 대한 하드웨어 업데이트 마법사를 표시합니다.

구문

BOOL DiShowUpdateDevice(
  [in, optional]  HWND             hwndParent,
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            DWORD            Flags,
  [out, optional] PBOOL            NeedReboot
);

매개 변수

[in, optional] hwndParent

DiShowUpdateDevice가 지정된 디바이스 업데이트와 관련된 모든 사용자 인터페이스 구성 요소를 표시하는 데 사용하는 최상위 창에 대한 핸들입니다. 이 매개 변수는 선택 사항이며 NULL로 설정할 수 있습니다.

[in] DeviceInfoSet

하드웨어 업데이트 마법사를 표시할 디바이스를 나타내는 디바이스 정보 요소가 포함된 디바이스 정보 집합 에 대한 핸들입니다.

[in] DeviceInfoData

하드웨어 업데이트 마법사를 표시할 디바이스를 나타내는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다.

[in] Flags

이 매개 변수는 0으로 설정해야 합니다.

[out, optional] NeedReboot

드라이버 업데이트를 완료하기 위해 시스템 다시 시작이 필요한지 여부를 나타내기 위해 DiShowUpdateDevice 가 설정하는 BOOL 형식의 값에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. 매개 변수가 제공되고 드라이버 업데이트를 완료하기 위해 시스템을 다시 시작해야 하는 경우 DiShowUpdateDevice 는 값을 TRUE로 설정합니다. 이 경우 호출자는 사용자에게 시스템을 다시 시작하라는 메시지를 표시해야 합니다. 이 매개 변수가 제공되고 설치를 완료하는 데 시스템 다시 시작이 필요하지 않은 경우 DiShowUpdateDevice 는 값을 FALSE로 설정합니다. 매개 변수가 NULL 이고 드라이버 업데이트를 완료하려면 시스템 다시 시작이 필요한 경우 DiShowUpdateDevice 는 시스템 다시 시작 대화 상자를 표시합니다. 이 매개 변수에 대한 자세한 내용은 다음 설명 섹션 을 참조하세요 .

반환 값

DiShowUpdateDevice는 하드웨어 업데이트 마법사가 지정된 디바이스에 대한 드라이버를 성공적으로 업데이트한 경우 TRUE 를 반환합니다. 그렇지 않으면 DiShowUpdateDeviceFALSE 를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다. GetLastError에서 반환할 수 있는 몇 가지 일반적인 오류 값은 다음과 같습니다.

반환 코드 설명
ERROR_ACCESS_DENIED
호출자에게 관리자 권한이 없습니다. 기본적으로 Windows는 호출 프로세스에 드라이버 패키지를 업데이트할 수 있는 관리자 권한이 있어야 합니다.
ERROR_CANCELLED
사용자가 하드웨어 업데이트 마법사를 취소했습니다.
ERROR_IN_WOW64
호출 애플리케이션은 허용되지 않는 64비트 환경에서 실행하려는 32비트 애플리케이션입니다. 자세한 내용은 64비트 시스템에 디바이스 설치를 참조하세요.
ERROR_INVALID_FLAGS
Flags에 지정된 값이 0과 같지 않습니다.

설명

DiShowUpdateDevice는 지정된 디바이스 instance 대한 하드웨어 업데이트 마법사를 표시합니다. 하드웨어 업데이트 마법사를 사용하여 디바이스 드라이버를 업데이트하는 방법에 대한 자세한 내용은 도움말 및 지원 센터를 참조하세요.

일반적으로 설치 애플리케이션은 하드웨어 업데이트를 완료하기 위해 다시 시작해야 하는 경우 시스템이 시스템 다시 시작을 자동으로 시작하도록 NeedRebootNULL 로 설정해야 합니다. 애플리케이션은 다음 경우에만 NeedReboot 포인터를 제공해야 합니다.

  • 설치 애플리케이션은 하드웨어 업데이트를 완료하려면 DiShowUpdateDevice 를 여러 번 호출해야 합니다. 이 경우 애플리케이션은 DiShowUpdateDevice에 대한 호출에서 TRUENeedReboot 값이 반환되는지 여부를 기록해야 하며, 이 경우 DiShowUpdateDevice에 대한 최종 호출이 반환된 후 사용자에게 시스템을 다시 시작하라는 메시지를 표시해야 합니다.
  • 애플리케이션은 시스템을 다시 시작하기 전에 DiShowUpdateDevice를 호출하는 것 외에 필요한 작업을 수행해야 합니다. 시스템 다시 시작이 필요한 경우 애플리케이션은 필요한 작업을 완료한 다음 사용자에게 시스템을 다시 시작하라는 메시지를 표시해야 합니다.
하드웨어 업데이트 마법사를 호출하는 대신 디바이스용 드라이버를 롤 백하려면 DiRollbackDriver를 호출합니다.

하드웨어 업데이트 마법사를 호출하는 대신 디바이스용 새 드라이버를 설치하려면 DiInstallDriver 또는 UpdateDriverForPlugAndPlayDevices를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 newdev.h(Newdev.h 포함)
라이브러리 Newdev.lib
DLL Newdev.dll

추가 정보

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayDevices