SetupGetFileCompressionInfoA 함수(setupapi.h)

[이 함수는 요구 사항 섹션에 표시된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. SetupAPI는 더 이상 애플리케이션 설치에 사용되지 않아야 합니다. 대신 Windows Installer를 사용하여 애플리케이션 설치 관리자를 개발합니다. SetupAPI는 디바이스 드라이버를 설치하는 데 계속 사용됩니다.]

SetupGetFileCompressionInfo 함수는 물리적 파일을 검사하여 압축되었는지 확인하고 압축되지 않은 대상 파일의 전체 경로, 크기 및 크기를 가져옵니다.

이 함수는 사용되지 않으며 SetupGetFileCompressionInfoEx로 대체되었습니다. SetupGetFileCompressionInfo를 사용하지 말고 항상 SetupGetFileCompressionInfoEx를 사용합니다.

구문

WINSETUPAPI DWORD SetupGetFileCompressionInfoA(
  [in]      PCSTR  SourceFileName,
  [in, out] PSTR   *ActualSourceFileName,
  [in, out] PDWORD SourceFileSize,
  [in, out] PDWORD TargetFileSize,
  [in, out] PUINT  CompressionType
);

매개 변수

[in] SourceFileName

필요한 정보에 대한 파일 이름입니다. 이름이 정확히 지정된 원본 미디어에서 파일을 찾을 수 없는 경우 파일은 최대 두 개의 대체 "압축 양식" 이름으로 검색됩니다. 예를 들어 파일이 F:\x86\cmd.exe 찾을 수 없는 경우 F:\mpis\cmd.ex_ 검색되고, 파일이 없으면 F:\x86\cmd.ex$에 대한 검색이 수행됩니다. null로 끝나는 문자열을 사용해야 합니다.

[in, out] ActualSourceFileName

찾을 수 있었던 파일의 전체 경로를 수신하는 변수에 대한 포인터입니다. 호출자는 LocalFree를 호출하여 포인터를 해제할 수 있습니다. 경로는 함수가 NO_ERROR 반환하는 경우에만 유효합니다. SetupAPI.dll 버전이 5.0.2195 미만인 경우 호출자는 SetupAPI에서 내보낸 함수 MyFree 를 사용하여 LocalFree를 사용하는 대신 이 함수에서 할당한 메모리를 해제해야 합니다. 주의 섹션을 참조하십시오.

[in, out] SourceFileSize

이 함수가 ActualSourceFileName으로 명명된 파일의 현재 크기인 현재 형식의 파일 크기를 반환하는 변수에 대한 포인터입니다. 크기는 원본 파일을 검사하여 결정됩니다. INF 파일에서 검색되지 않습니다. 소스 파일 크기는 함수가 NO_ERROR 반환하는 경우에만 유효합니다.

[in, out] TargetFileSize

이 함수가 압축을 풀거나 복사할 때 파일이 차지하는 크기를 반환하는 변수에 대한 포인터입니다. 파일이 압축되지 않으면 이 값은 SourceFileSize와 동일합니다. 크기는 파일을 검사하여 결정됩니다. INF 파일에서 검색되지 않습니다. 대상 파일 크기는 함수가 NO_ERROR 반환하는 경우에만 유효합니다.

[in, out] CompressionType

이 함수가 ActualSourceFileName에 사용되는 압축 유형을 나타내는 값을 반환하는 변수에 대한 포인터입니다. 압축 형식은 함수가 NO_ERROR 반환하는 경우에만 유효합니다. 값은 다음 플래그 중 하나일 수 있습니다.

FILE_COMPRESSION_NONE

소스 파일은 인식된 압축 알고리즘으로 압축되지 않습니다.

FILE_COMPRESSION_WINLZA

원본 파일은 LZ 압축으로 압축됩니다.

FILE_COMPRESSION_MSZIP

원본 파일은 MSZIP 압축을 사용하여 압축됩니다.

반환 값

함수는 파일 검색 결과를 나타내는 시스템 오류 코드를 반환합니다. 오류 코드는 다음 값 중 하나일 수 있습니다.

확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

SetupGetFileCompressionInfo를 사용하지 말고 항상 SetupGetFileCompressionInfoEx를 사용합니다.

SetupGetFileCompressionInfo는 물리적 파일을 참조하여 압축을 결정하므로 설치 애플리케이션은 SetupGetFileCompressionInfo를 호출하기 전에 파일이 있는지 확인해야 합니다.

SetupAPI.dll 버전이 5.0.2195 미만인 경우 호출자는 SetupAPI에서 내보낸 함수 MyFree 를 사용하여 LocalFree를 사용하는 대신 이 함수에서 할당한 메모리를 해제해야 합니다. LocalFree 호출로 인해 액세스 위반이 발생하는 경우 MyFree를 사용하여 문제를 해결해야 합니다.

다음은 SetupAPI.dll MyFree 함수를 가져오는 방법의 예입니다.

typedef VOID (WINAPI* MYFREEFUNC)(LPVOID lpBuff);
   MYFREEFUNC MyFree;

   HMODULE hDll=NULL;
   hDll = GetModuleHandle("SETUPAPI.DLL");
   MyFree = (MYFREEFUNC)GetProcAddress(hDll, "MyFree");
   ...
   other code here to prepare file queue
   ...
   PTSTR lpActualSourceFileName;
   SetupGetFileCompressionInfo(...,&lpActualSourceFileName,...,...,...);
   ...
   MyFree(lpActualSourceFileName); 

참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 setupapi.h
라이브러리 Setupapi.lib
DLL Setupapi.dll

참조

함수

개요

SetupDecompressOrCopyFile