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