SetupCopyOEMInfW 함수(setupapi.h)
[이 함수는 요구 사항 섹션에 표시된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 사용할 수 없습니다. SetupAPI는 더 이상 애플리케이션을 설치하는 데 사용되지 않아야 합니다. 대신 Windows Installer를 사용하여 애플리케이션 설치 관리자를 개발합니다. SetupAPI는 디바이스 드라이버를 설치하는 데 계속 사용됩니다.]
SetupCopyOEMInf 함수는 지정된 .inf 파일을 %windir%/Inf 디렉터리에 복사합니다.
이 함수의 호출자는 관리 권한이 있어야 합니다. 그렇지 않으면 함수가 실패합니다.
통사론
WINSETUPAPI BOOL SetupCopyOEMInfW(
[in] PCWSTR SourceInfFileName,
[in] PCWSTR OEMSourceMediaLocation,
[in] DWORD OEMSourceMediaType,
[in] DWORD CopyStyle,
[out, optional] PWSTR DestinationInfFileName,
[in] DWORD DestinationInfFileNameSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PWSTR *DestinationInfFileNameComponent
);
매개 변수
[in] SourceInfFileName
원본 .inf 파일의 전체 경로입니다. null로 끝나는 문자열을 사용해야 합니다. 이 경로는 종료 NULL포함하여 크기가 MAX_PATH 초과해서는 안 됩니다.
[in] OEMSourceMediaLocation
미리 컴파일된 .inf(.pnf)에 저장할 원본 위치 정보입니다. 이 위치 정보는 지정된 원본 미디어 유형과 관련이 있습니다. null로 끝나는 문자열을 사용해야 합니다. 이 경로는 종료 NULL포함하여 크기가 MAX_PATH 초과해서는 안 됩니다.
[in] OEMSourceMediaType
위치 정보에서 참조하는 원본 미디어 형식입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
[in] CopyStyle
.inf 파일이 .inf 디렉터리에 복사되는 방법을 지정합니다. 다음 플래그를 결합할 수 있습니다.
[out, optional] DestinationInfFileName
Inf 디렉터리에 복사될 때 할당된 .inf 파일 이름을 받을 버퍼에 대한 포인터입니다. 지정된 경우 버퍼의 길이는 일반적으로 MAX_PATH 합니다. SP_COPY_NOOVERWRITE 플래그를 지정하고 SetupCopyOEMInf 함수가 ERROR_FILE_EXISTS 반환 코드와 함께 실패하는 경우 이 버퍼에는 기존 .inf 파일의 이름이 포함됩니다. SP_COPY_OEMINF_CATALOG_ONLY 플래그를 지정하면 .inf 파일이 Inf 디렉터리에 이미 있는 경우 이 버퍼에는 대상 .inf 파일 이름이 포함됩니다. 그렇지 않으면 이 버퍼가 빈 문자열로 설정됩니다. 이 매개 변수는 NULL
[in] DestinationInfFileNameSize
DestinationInfFileName 버퍼의 크기(문자) 또는 버퍼가 지정되지 않은 경우 0입니다.
DestinationInfFileName 지정되고 이 버퍼 크기가 대상 .inf 파일 이름(전체 경로 포함)을 반환하는 데 필요한 크기보다 작으면 이 함수가 실패합니다. 이 경우 getLastError
[out, optional] RequiredSize
종료 NULL포함하여 대상 .inf 파일 이름을 저장하는 데 필요한 크기(문자)를 받는 변수에 대한 포인터입니다. SP_COPY_OEMINF_CATALOG_ONLY 플래그가 지정된 경우 이 변수는 .inf 파일이 Inf 디렉터리에 이미 있는 경우에만 문자열 길이를 받습니다. 그렇지 않으면 이 변수가 0으로 설정됩니다. 이 매개 변수는 NULL
[out, optional] DestinationInfFileNameComponent
DestinationInfFileName 매개 변수에 저장된 경로의 파일 이름 구성 요소의 시작을 가리키는 성공적인 반환(또는 ERROR_FILE_EXISTS)에 설정된 문자열에 대한 포인터입니다. SP_COPY_OEMINF_CATALOG_ONLY 플래그를 지정하면 DestinationInfFileName 매개 변수가 빈 문자열일 수 있습니다. 이 경우 문자 포인터는 반환이 성공하면 NULL
반환 값
이 함수는 WINSETUPAPI BOOL을 반환합니다.
발언
SetupCopyOEMInf 함수는 지정된 .inf 파일을 %windir%\Inf 디렉터리에 복사합니다. SetupCopyOEMInf 지정된 .inf 파일의 이진 이미지가 OEM*.inf 형식의 이름과 같은 Inf 디렉터리에 이미 있는 경우 파일의 범위를 다시 지정하지 않습니다. SetupCopyOEMInf 파일을 복사하면 복사된 파일의 이름이 OEM*.inf로 바뀝니다. 제공된 이름은 고유하며 예측할 수 없습니다.
SetupCopyOEMInf 다음 절차를 사용하여 Inf 디렉터리에 .inf 파일이 이미 있는지 확인합니다.
OEM*.inf 형식의 이름을 가진 모든 .inf 파일은 열거되고 지정된 .inf 파일과 파일 크기가 같은 모든 파일은 이진 비교됩니다.
Inf 디렉터리가 .inf 파일의 원본 파일 이름을 검색합니다. 이름이 같은 .inf 파일이 있고 지정된 .inf 파일의 크기가 같은 경우 두 파일은 동일한지 확인하기 위해 이진 파일과 비교됩니다.
지정한 .inf 파일이 이미 있는 경우 지정한 .inf 파일에 [Version] 섹션에 CatalogFile= 항목이 포함되어 있는지 확인하기 위해 추가 검사가 수행됩니다. 이 경우 .inf 파일의 %windir%\Inf 기본 파일 이름(".cat" 확장명)을 사용하여 카탈로그가 이미 설치되어 있는지 확인합니다. 카탈로그가 설치되어 있지만 원본 .inf와 연결된 카탈로그와 동일하지 않은 경우 일치하는 것으로 간주되지 않으며 열거형이 계속됩니다. %windir%\Inf 디렉터리에 포함된 고유한 카탈로그가 있는 동일한 .inf 파일을 여러 개 포함할 수 있습니다. 기존 일치 항목을 찾을 수 없는 경우 .inf 및 .cat 파일은 새롭고 고유한 이름으로 설치됩니다.
CatalogFile= 항목을 지정하지 않는 OEM .inf 파일은 디지털 서명 확인과 관련하여 잘못된 것으로 간주됩니다.
.inf 파일을 %windir%\Inf 디렉터리에 복사해야 하는 경우 디지털 서명 확인 오류가 보고됩니다.
.inf 및 .cat 파일이 이미 있는 경우 이러한 기존 파일 이름이 사용되고 파일 대체 동작은 지정된 CopyStyle 플래그를 기반으로 합니다. 대체 동작은 .pnf에 저장된 원본 미디어 정보만을 나타냅니다. 기존 .inf, .pnf 및 .cat 파일은 수정되지 않습니다.
메모
setupapi.h 헤더는 SETUPCopyOEMInf를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | setupapi.h |
라이브러리 | Setupapi.lib |
DLL | Setupapi.dll |
API 집합 | ext-ms-win-setupapi-classinstallers-l1-1-2(Windows 10 버전 10.0.14393에서 도입됨) |