MsiProvideQualifiedComponentExW 함수(msi.h)
MsiProvideQualifiedComponentEx 함수는 제품에서 게시하고 필요한 설치를 수행하는 정규화된 구성 요소의 전체 구성 요소 경로를 반환합니다. 이 함수는 필요한 경우 원본을 묻는 메시지를 표시하고 기능에 대한 사용 횟수를 증분합니다.
통사론
UINT MsiProvideQualifiedComponentExW(
[in] LPCWSTR szCategory,
[in] LPCWSTR szQualifier,
[in] DWORD dwInstallMode,
[in] LPCWSTR szProduct,
[in] DWORD dwUnused1,
[in] DWORD dwUnused2,
[out] LPWSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
매개 변수
[in] szCategory
요청된 구성 요소에 대한 구성 요소 ID를 지정합니다. 이는 구성 요소 자체의 GUID가 아니라 PublishComponent 테이블ComponentId 열에서와 같이 올바른 기능을 제공하는 서버일 수 있습니다.
[in] szQualifier
광고 구성 요소 목록(PublishComponent 테이블)에 한정자를 지정합니다.
[in] dwInstallMode
설치 모드를 정의합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
구성 요소를 제공하고 구성 요소를 제공하는 데 필요한 모든 설치를 수행합니다. 요청된 기능 또는 기능 부모에 있는 구성 요소의 키 파일이 누락된 경우 REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA 및 REINSTALLMODE_SHORTCUT 플래그 비트가 설정된 MsiReinstallFeature 사용하여 기능을 다시 설치합니다. |
|
기능이 있는 경우에만 구성 요소를 제공합니다. 그렇지 않으면 ERROR_FILE_NOT_FOUND 반환합니다.
이 모드는 구성 요소의 키 파일이 있는지 확인합니다. |
|
기능이 있는 경우에만 구성 요소를 제공합니다. 그렇지 않으면 ERROR_FILE_NOT_FOUND 반환합니다.
이 모드는 구성 요소가 등록되어 있는지 확인하고 구성 요소의 키 파일이 있는지 확인하지 않습니다. |
|
기능이 있는 경우에만 구성 요소를 제공하고, 그렇지 않으면 ERROR_FILE_NOT_FOUND 반환합니다. |
|
MsiReinstallFeature 호출하여 dwReinstallMode 매개 변수에 이 매개 변수를 사용하여 기능을 다시 설치한 다음 구성 요소를 제공합니다. |
|
기능의 설치 상태가 INSTALLSTATE_LOCAL 경우에만 구성 요소를 제공합니다. 기능의 설치 상태가 INSTALLSTATE_SOURCE 경우 ERROR_INSTALL_SOURCE_ABSENT 반환합니다. 그렇지 않으면 ERROR_FILE_NOT_FOUND 반환합니다. 이 모드는 구성 요소가 등록되어 있는지 확인하고 키 파일이 있는지 확인하지 않습니다. |
[in] szProduct
정규화된 구성 요소를 게시한 제품과 일치하도록 지정합니다. null이면 이 API는 MsiProvideQualifiedComponent동일하게 작동합니다.
[in] dwUnused1
예약. 0이어야 합니다.
[in] dwUnused2
예약. 0이어야 합니다.
[out] lpPathBuf
구성 요소의 경로를 받는 변수에 대한 포인터입니다. 이 매개 변수는 null일 수 있습니다.
[in, out] pcchPathBuf
lpPathBuf 매개 변수가 가리키는 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 입력에서 종료 null 문자에 대한 공간을 포함하여 버퍼의 전체 크기입니다. 전달된 버퍼가 너무 작으면 반환되는 개수에 종료 null 문자가 포함되지 않습니다.
lpPathBuf null이면 pcchBuf null일 수 있습니다.
반환 값
값 | 의미 |
---|---|
|
구성 요소 한정자 잘못되었거나 존재하지 않습니다. |
|
함수가 성공적으로 완료되었습니다. |
|
기능이 없거나 손상되었습니다. 이 오류는 dwInstallMode = INSTALLMODE_EXISTING 대해 반환됩니다. |
|
지정된 구성 요소를 알 수 없습니다. |
|
오류 코드참조하세요. |
초기화와 관련된 오류가 발생했습니다. |
발언
MsiProvideQualifiedComponentEx 함수가 성공하면 pcchPathBuf 매개 변수에 lpPathBuf문자열 길이가 포함됩니다.
손상된 파일 또는 잘못된 버전의 파일이 포함된 구성 요소가 있는 기능은 사용자가 명시적으로 다시 설치하거나 애플리케이션 호출 MsiReinstallFeature가.
메모
msi.h 헤더는 MSiProvideQualifiedComponentEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer Run-Time 요구 사항을 참조하세요. |
대상 플랫폼 | Windows |
헤더 | msi.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |