다음을 통해 공유


SetupGetFileCompressionInfoW 함수(setupapi.h)

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

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

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

통사론

WINSETUPAPI DWORD SetupGetFileCompressionInfoW(
  [in]      PCWSTR SourceFileName,
  [in, out] PWSTR  *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 미만인 경우 호출자는 LocalFree사용하는 대신 SetupAPI에서 내보낸 함수 MyFree 사용하여 이 함수에 의해 할당된 메모리를 해제해야 합니다. 설명 섹션을 참조하세요.

[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 미만인 경우 호출자는 LocalFree사용하는 대신 SetupAPI에서 내보낸 함수 MyFree 사용하여 이 함수에 의해 할당된 메모리를 해제해야 합니다. LocalFree 호출하면 액세스 위반이 발생하는 경우 MyFree사용하여 문제를 해결해야 합니다.

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

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

요구 사항

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

참고 항목

함수

개요

setupDecompressOrCopyFile