다음을 통해 공유


SetupDiSelectBestCompatDrv 함수(setupapi.h)

SetupDiSelectBestCompatDrv 함수는 DIF_SELECTBESTCOMPATDRV 설치 요청에 대한 기본 처리기입니다.

구문

WINSETUPAPI BOOL SetupDiSelectBestCompatDrv(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

매개 변수

[in] DeviceInfoSet

호환성이 가장 좋은 드라이버를 선택할 디바이스를 나타내는 디바이스 정보 요소가 포함된 디바이스 정보 집합 에 대한 핸들입니다.

[in, out] DeviceInfoData

DeviceInfoSet에서 디바이스 정보 요소를 지정하는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다. SetupDiSelectBestCompatDrv 는 지정된 디바이스의 호환 드라이버 목록에서 디바이스 정보 요소에 가장 적합한 드라이버를 선택합니다.

반환 값

작업이 성공하면 SetupDiSelectBestCompatDrv는TRUE를 반환합니다. 그렇지 않으면 함수가 FALSE 를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.

설명

SetupDiSelectBestCompatDrv의 호출자가 Administrators 그룹의 구성원이고 디바이스의 클래스가 선택한 드라이버의 클래스와 다른 경우 SetupDiSelectBestCompatDrv는 디바이스의 클래스를 드라이버의 클래스로 설정합니다. 이 동작을 원하지 않는 경우 더 낮은 권한 수준에서 이 함수를 호출합니다.

참고 클래스 설치 관리자만 SetupDiSelectBestCompatDrv 를 호출해야 하며, SetupDiSelectBestCompatDrv 가 기본 드라이버 선택 작업을 완료한 후에는 클래스 설치 관리자가 드라이버 선택 작업을 수행해야 하는 경우에만 호출됩니다. 이러한 경우 클래스 설치 관리자는 설치 관리자가 DIF_SELECTBESTCOMPATDRV 요청을 처리할 때 SetupDiSelectBestCompatDrv 를 직접 호출해야 합니다. 기본 처리기를 호출하는 방법에 대한 자세한 내용은 기본 DIF 코드 처리기 호출을 참조하세요.
 
SetupDiSelectBestCompatDrv 는 주로 로컬 컴퓨터의 디바이스 정보 요소에 가장 잘 호환되는 드라이버를 선택하도록 설계되었습니다. 디바이스 정보 집합이 원격 컴퓨터에 대해 설정된 경우 SetupDiSelectBestCompatDrv 가 실패하지 않지만, 이후에는 원격 컴퓨터에 대한 작업을 지원하지 않는 DIF_Xxx 설치 요청 또는 SetupDiXxx 함수를 사용하여 디바이스 정보 집합을 입력으로 사용할 수 없으므로 그 결과는 제한적입니다. 특히 디바이스 정보 집합은 이후에 원격 컴퓨터에 디바이스를 설치하기 위한 DIF_INSTALLDEVICE 설치 요청과 함께 입력으로 사용할 수 없습니다.

최상의 드라이버를 선택하는 방법에 대한 자세한 내용은 Windows에서 드라이버를 선택하는 방법을 참조하세요.

디바이스에 대해 선택한 드라이버를 얻으려면 SetupDiGetSelectedDriver를 호출합니다.

요구 사항

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

추가 정보

DIF_SELECTBESTCOMPATDRV

SP_DEVINFO_DATA