MsiEnumComponentCostsA 함수(msiquery.h)
MsiEnumComponentCosts 함수는 구성 요소를 설치하는 데 필요한 드라이브당 디스크 공간을 열거합니다. 이 정보는 사용자 인터페이스의 모든 드라이브에 필요한 디스크 공간 비용을 표시하는 데 필요합니다. 반환된 디스크 공간 비용은 512바이트의 배수로 표시됩니다.
MsiEnumComponentCosts 설치 관리자가 파일 비용을 완료하고 CostFinalize 작업이후에만 실행해야 합니다. 자세한 내용은 파일 비용
통사론
UINT MsiEnumComponentCostsA(
[in] MSIHANDLE hInstall,
[in] LPCSTR szComponent,
[in] DWORD dwIndex,
[in] INSTALLSTATE iState,
[out] LPSTR szDriveBuf,
[in, out] LPDWORD pcchDriveBuf,
[out] LPINT piCost,
[out] LPINT piTempCost
);
매개 변수
[in] hInstall
DLL 사용자 지정 작업에 제공되거나
[in] szComponent
구성 요소의 이름이구성 요소 테이블의 구성 요소 열에 나열될 때 null로 끝나는
[in] dwIndex
드라이브에 대한 0부터 시작하는 인덱스입니다. 이 매개 변수는 MsiEnumComponentCosts 함수에 대한 첫 번째 호출에 대해 0이어야 하며 이후 호출의 경우 증가해야 합니다.
[in] iState
열거할 구성 요소 상태를 요청했습니다. szComponent Null 또는 빈 문자열로 전달되면 설치 관리자는 iState 매개 변수를 무시합니다.
[out] szDriveBuf
null 종결자를 포함하여 드라이브 이름을 보유하는 버퍼입니다. 오류 발생 시 빈 문자열입니다.
[in, out] pcchDriveBuf
lpDriveBuf 매개 변수가 가리키는 버퍼의 크기(TCHAR)를 지정하는 변수에 대한 포인터입니다. 이 크기에는 종료 null 문자가 포함되어야 합니다. 제공된 버퍼가 너무 작으면 pcchDriveBuf 가리키는 변수에 null 종결자를 포함하지 않는 문자 수가 포함됩니다.
[out] piCost
512바이트의 배수로 표현된 드라이브당 구성 요소 비용입니다. 오류가 발생한 경우 이 값은 0입니다. piCost 반환된 값은 설치 후 구성 요소에서 사용하는 최종 디스크 공간입니다. szComponent Null 또는 빈 문자열로 전달되는 경우 설치 관리자는 값을 piCost 0으로 설정합니다.
[out] piTempCost
설치 기간 동안 드라이브당 구성 요소 비용 또는 오류가 발생한 경우 0입니다. *piTempCost 값은 설치 기간 동안의 임시 공간 요구 사항을 나타냅니다. 이 임시 공간 요구 사항은 설치 기간 동안에만 필요한 공간입니다. 이는 최종 디스크 공간 요구 사항에 영향을 주지 않습니다.
반환 값
반환 값 | 의미 |
---|---|
|
구성 데이터가 손상되었습니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. |
|
더 이상 반환할 드라이브가 없습니다. |
|
값이 열거되었습니다. |
|
구성 요소가 없습니다. |
|
비용 처리가 완료되지 않았습니다. |
|
드라이브 이름에 충분한 버퍼가 아닙니다. |
|
제공된 핸들이 잘못되었거나 비활성 상태입니다. |
발언
드라이브당 디스크 공간 비용을 열거하는 권장 방법은 다음과 같습니다. dwIndex를 0으로 설정하고 각 호출 후에 하나씩 증가합니다. msiEnumComponentCosts
MsiEnumComponentCosts 사용자 지정 작업에서 호출될 수 있습니다.
설치에 대한 총 최종 디스크 비용은 모든 구성 요소의 비용과 Windows Installer 비용(szComponent = null)의 합계입니다.
메모
msiquery.h 헤더는 MSiEnumComponentCosts를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer |
대상 플랫폼 | Windows |
헤더 | msiquery.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |