다음을 통해 공유


SetupGetInfDriverStoreLocationW 함수(setupapi.h)

SetupGetInfDriverStoreLocation 함수는 드라이버 저장소에서 시스템 INF 파일 디렉터리의 지정된 INF 파일 또는 드라이버 저장소의 지정된 INF 파일에 해당하는 INF 파일의 정규화된 파일 이름(디렉터리 경로 및 파일 이름)을 검색합니다.

구문

WINSETUPAPI BOOL SetupGetInfDriverStoreLocationW(
  [in]            PCWSTR               FileName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [in, optional]  PCWSTR               LocaleName,
  [out]           PWSTR                ReturnBuffer,
  [in]            DWORD                ReturnBufferSize,
  [out, optional] PDWORD               RequiredSize
);

매개 변수

[in] FileName

시스템 INF 파일 디렉터리에 있는 INF 파일의 이름 및 선택적으로 전체 디렉터리 경로를 포함하는 NULL로 끝나는 문자열에 대한 포인터입니다. 또는 이 매개 변수는 드라이버 저장소에 있는 INF 파일의 정규화된 파일 이름(디렉터리 경로 및 파일 이름)을 포함하는 NULL로 끝나는 문자열에 대한 포인터입니다.

INF 파일을 지정하는 방법에 대한 자세한 내용은 다음 설명 섹션을 참조하세요 .

[in, optional] AlternatePlatformInfo

시스템에서 사용하도록 예약되었습니다.

[in, optional] LocaleName

시스템에서 사용하도록 예약되었습니다.

[out] ReturnBuffer

함수가 지정된 INF 파일의 정규화된 파일 이름을 포함하는 NULL로 끝나는 문자열을 반환하는 버퍼에 대한 포인터입니다. 이 매개 변수는 NULL로 설정할 수 있습니다. 지원되는 최대 경로 크기는 MAX_PATH. 버퍼의 필요한 크기를 확인하는 방법에 대한 자세한 내용은 다음 설명 섹션을 참조하세요 .

[in] ReturnBufferSize

ReturnBuffer에서 제공하는 버퍼의 크기(문자)입니다.

[out, optional] RequiredSize

ReturnBuffer 버퍼의 크기를 문자 단위로 수신하는 DWORD 형식 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL로 설정할 수 있습니다.

반환 값

SetupGetInfDriverStoreLocation이 성공하면 함수는 TRUE를 반환합니다. 그렇지 않으면 함수는 FALSE를 반환합니다. 확장된 오류 정보를 가져오려면 GetLastError를 호출합니다.

null 종결자를 포함하여 요청된 INF 파일의 정규화된 파일 이름의 크기(문자)가 ReturnBufferSize보다 크면 함수가 실패하고 GetLastError 를 호출하면 ERROR_INSUFFICIENT_BUFFER 반환됩니다.

설명

드라이버 저장소에 지정된 INF 파일의 정규화된 파일 이름을 포함하는 데 필요한 반환 버퍼의 크기를 확인하려면 SetupGetInfDriverStoreLocation 을 호출하고 ReturnBufferNULL로 설정하고 ReturnBufferSize 를 0으로 설정하고 RequiredSize를 제공합니다. SetupGetInfDriverStoreLocationRequiredSize에서 필요한 버퍼 크기를 반환합니다.

디바이스 설치가 드라이버 저장소에 드라이버 패키지를 미리 설치하면 드라이버 패키지 INF 파일의 두 복사본이 만들어집니다. 디바이스 설치는 시스템 INF 디렉터리에 하나의 복사본을 설치하고 INF 파일의 복사본에 OEMnnn.inf 양식의 고유한 게시된 파일 이름을 할당합니다. 디바이스 설치는 드라이버 저장소에 INF 파일의 두 번째 복사본을 설치하고 원래 INF 파일 이름을 복사하는 를 할당합니다.

SetupGetInfDriverStoreLocationFileName에서 제공하는 INF 파일(있는 경우)과 일치하는 드라이버 저장소에 있는 INF 파일의 정규화된 파일 이름을 반환합니다. 파일 이름은 시스템 INF 디렉터리에 있는 INF 파일의 파일 이름 및 선택적으로 디렉터리 경로를 지정해야 합니다. 또는 Filename 은 드라이버 저장소에서 INF 파일의 정규화된 파일 이름을 지정해야 합니다.

예를 들어 드라이버 패키지의 INF 파일이 Myinf.inf이고, 이 드라이버 패키지의 경우 디바이스 설치가 시스템 INF 디렉터리 C:\Windows\inf에 INF 파일 OEM1.inf를 설치한다고 가정합니다. 또한 디바이스 설치가 드라이버 저장소에 해당 INF 파일 복사 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf를 설치한다고 가정합니다. 이 경우 FileNameOEM1.inf, C:\Windows\inf\OEM1.inf 또는 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf 문자열 중 하나를 제공하는 경우 함수는 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf를 반환합니다.

클래스 설치 관리자공동 설치 관리자는SetupGetInfDriverStoreLocation 을 사용하여 드라이버 저장소에 미리 설치된 드라이버 패키지 의 파일에 액세스할 수 있습니다. 드라이버 저장소에서 드라이버 패키지의 경로를 확인하려면 설치 관리자가 다음을 수행합니다.

  1. SetupDiGetDriverInfoDetail을 호출하여 드라이버에 대한 SP_DRVINFO_DETAIL_DATA 구조를 검색합니다. 이 구조체의 InfFileName 멤버에는 시스템 INF 디렉터리에 있는 드라이버 INF 파일의 정규화된 파일 이름이 포함됩니다.
  2. SetupGetInfDriverStoreLocation을 호출하고 SetupDiGetDriverInfoDetail을 호출하여 검색된 드라이버 INF 파일의 정규화된 파일 이름을 제공합니다. SetupGetInfDriverStoreLocation 은 드라이버 저장소에 있는 드라이버 INF 파일의 정규화된 파일 이름을 반환합니다. INF 파일의 정규화된 파일 이름의 디렉터리 경로 부분은 드라이버 패키지 파일의 경로입니다.
참고SetupGetInfDriverStoreLocationFileName에 지정된 INF 파일의 내용을 처리하지 않습니다. 이 함수를 사용하여 드라이버 저장소에서 INF 파일에 대한 콘텐츠별 검색을 수행할 수 없습니다.
 
SetupGetInfPublishedName 함수를 호출하여 시스템 INF 파일 디렉터리의 지정된 INF 파일 또는 드라이버 저장소의 지정된 파일에 해당하는 시스템 INF 파일 디렉터리에서 INF 파일의 정규화된 파일 이름을 검색합니다.

참고

setupapi.h 헤더는 SETUPGetInfDriverStoreLocation을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

SP_ALTPLATFORM_INFO

SP_DRVINFO_DETAIL_DATA

SetupDiGetDriverInfoDetail

SetupGetInfPublishedName