MsiGetComponentPathExA 함수(msi.h)
MsiGetComponentPathEx 함수는 설치된 구성 요소의 전체 경로를 반환합니다. 구성 요소의 키 경로가 레지스트리 키인 경우 함수는 레지스트리 키를 반환합니다.
이 함수는 기존 MsiGetComponentPath 함수를 확장하여 사용자 계정 및 설치 컨텍스트에서 구성 요소를 검색할 수 있도록 합니다.
통사론
INSTALLSTATE MsiGetComponentPathExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szComponentCode,
[in, optional] LPCSTR szUserSid,
[in, optional] MSIINSTALLCONTEXT dwContext,
[out, optional] LPSTR lpOutPathBuffer,
[in, out, optional] LPDWORD pcchOutPathBuffer
);
매개 변수
[in] szProductCode
애플리케이션의 제품 코드 GUID를 지정하는 null로 끝나는 문자열 값입니다. 이 함수는 이 애플리케이션에서 사용하는 설치된 구성 요소의 경로를 가져옵니다.
[in] szComponentCode
구성 요소 코드 GUID를 지정하는 null로 끝나는 문자열 값입니다. 이 함수는 이 구성 요소 코드가 있는 설치된 구성 요소의 경로를 가져옵니다.
[in, optional] szUserSid
시스템의 사용자에 대한 SID(보안 식별자)를 지정하는 null로 끝나는 문자열 값입니다. 이 함수는 이 SID로 식별된 사용자 계정 아래에 설치된 애플리케이션의 설치된 구성 요소 경로를 가져옵니다. 특수 SID 문자열 s-1-1-0(모두)은 시스템의 모든 사용자를 지정합니다. 이 매개 변수가 NULL
SID 유형 | 의미 |
---|---|
|
현재 로그온한 사용자를 지정합니다. |
|
시스템의 특정 사용자를 지정합니다. 사용자 SID의 예는 "S-1-3-64-2415071341-1358098788-3127455600-2561"입니다. |
|
시스템의 모든 사용자를 지정합니다. |
[in, optional] dwContext
설치 컨텍스트를 지정하는 플래그입니다. 이 함수는 지정된 설치 컨텍스트에 설치된 애플리케이션의 설치된 구성 요소 경로를 가져옵니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.
[out, optional] lpOutPathBuffer
구성 요소의 경로를 받는 문자열 값입니다. 이 매개 변수는 NULL
뿌리 | 의미 |
---|---|
|
00 |
|
01 |
|
02 |
|
03 |
[in, out, optional] pcchOutPathBuffer
szPathBuf 매개 변수가 가리키는 TCHAR버퍼 크기를 받는 위치에 대한 포인터입니다. 이 위치의 값은 종료 null 문자를 포함하여 문자열의 TCHAR 수로 설정해야 합니다. 버퍼의 크기가 너무 작으면 이 매개 변수는 종료 null 문자를 개수에 포함하지 않고 문자열 값의 길이를 받습니다.
반환 값
MsiGetComponentPathEx 함수는 다음 값을 반환합니다.
값 | 의미 |
---|---|
|
요청되는 구성 요소가 컴퓨터에서 비활성화됩니다. |
|
구성 데이터가 손상되었습니다. |
|
구성 요소가 설치되지 않았습니다. |
|
함수 매개 변수 중 하나가 잘못되었습니다. |
|
구성 요소가 로컬로 설치됩니다. |
|
구성 요소가 원본에서 실행되도록 설치됩니다. |
|
구성 요소 원본에 액세스할 수 없습니다. |
|
제품 코드 또는 구성 요소 ID를 알 수 없습니다. |
|
구성 요소가 손상되었거나 부분적으로 누락되어 복구가 필요합니다. |
발언
MsiGetComponentPathEx 함수는 다음과 같은 이유로 INSTALLSTATE_ABSENT 또는 INSTALL_STATE_UNKNOWN반환할 수 있습니다.
- INSTALLSTATE_ABSENT
애플리케이션은
MsiUseFeature 호출하고 필요한 경우 MsiConfigureFeature기능이 설치되었는지 제대로 확인하지 못했습니다. - INSTALLSTATE_UNKNOWN
이 기능은 게시되지 않습니다. 애플리케이션은 msiQueryFeatureState 또는
MsiEnumFeatures 호출하여 이전에 이를 결정했어야 합니다. 애플리케이션은 초기화하는 동안 이러한 호출을 합니다. 애플리케이션은 게시된 것으로 알려진 기능만 사용해야 합니다. MsiUseFeature INSTALLSTATE_UNKNOWN 반환되었어야 하므로 MsiUseFeature 호출되지 않았거나 반환 값이 제대로 확인되지 않았습니다.
메모
msi.h 헤더는 MSiGetComponentPathEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer Run-Time 요구 사항을 참조하세요. |
대상 플랫폼 | Windows |
헤더 | msi.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |