MsiGetProductInfoExA 함수(msi.h)
MsiGetProductInfoEx 함수는 보급 및 설치된 제품에 대한 제품 정보를 반환합니다. 이 함수는 정보를 검색할 수 있습니다.
현재 사용자 이외의 사용자 계정으로 설치된 제품의 instance 대한 정보입니다.
호출 프로세스에는 현재 사용자와 다른 사용자에 대한 관리 권한이 있어야 합니다. MsiGetProductInfoEx 함수는 현재 사용자 이외의 사용자 계정에 대해 사용자별 관리되지 않는 컨텍스트로 보급된 제품의 instance 쿼리할 수 없습니다.
이 함수는 MsiGetProductInfo 함수의 확장입니다.
구문
UINT MsiGetProductInfoExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
매개 변수
[in] szProductCode
쿼리 중인 제품 instance ProductCode GUID입니다.
[in] szUserSid
쿼리 중인 제품의 instance 있는 계정의 SID(보안 식별자)입니다. NULL은 현재 사용자 SID를 지정합니다.
SID | 의미 |
---|---|
|
현재 로그온한 사용자입니다. |
|
시스템의 특정 사용자에 대한 열거형입니다. 사용자 SID의 예는 "S-1-3-64-2415071341-1358098788-3127455600-2561"입니다. |
[in] dwContext
쿼리 중인 제품 instance 설치 컨텍스트입니다.
[in] szProperty
쿼리 중인 속성입니다.
검색할 속성입니다. 다음 표의 속성은 이미 설치된 애플리케이션에서만 검색할 수 있습니다. 모든 필수 속성은 사용할 수 있도록 보장되지만 다른 속성은 속성이 설정된 경우에만 사용할 수 있습니다. 자세한 내용은
필수 속성 및 속성입니다.
속성 | 의미 |
---|---|
|
보급된 제품의 경우 "1", 설치된 경우 "5"로 문자열 형식으로 반환된 제품의 상태입니다. |
|
지원 링크입니다. 자세한 내용은 ARPHELPLINK 속성을 참조하세요. |
|
지원 전화. 자세한 내용은 ARPHELPTELEPHONE 속성을 참조하세요. |
|
이 제품이 마지막으로 서비스를 받은 시간입니다. 이 속성의 값은 제품에서 패치가 적용되거나 제거되거나 제품을 수리하는 데 /v 명령줄 옵션이 사용될 때마다 바뀝니다. 제품이 수리 또는 패치를 받지 않은 경우 이 속성에는 이 제품이 이 컴퓨터에 설치된 시간이 포함됩니다. |
|
설치된 언어입니다.
Windows Installer 4.5 이하: 지원되지 않습니다. |
|
설치된 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요. |
|
설치 위치입니다. 자세한 내용은 ARPINSTALLLOCATION 속성을 참조하세요. |
|
설치 원본입니다. 자세한 내용은 SourceDir 속성을 참조하세요. |
|
로컬 캐시된 패키지입니다. |
|
게시자입니다. 자세한 내용은 Manufacturer 속성을 참조하세요. |
|
URL 정보입니다. 자세한 내용은 ARPURLINFOABOUT 속성을 참조하세요. |
|
URL 업데이트 정보입니다. 자세한 내용은 ARPURLUPDATEINFO 속성을 참조하세요. |
|
ProductVersion 속성에서 파생된 부 제품 버전입니다. |
|
ProductVersion 속성에서 파생된 주 제품 버전입니다. |
|
제품 버전입니다. 자세한 내용은 ProductVersion 속성을 참조하세요. |
설치된 애플리케이션에서 제품 ID, 등록된 소유자 또는 등록된 회사를 검색하려면 szProperty 를 다음 텍스트 문자열 값 중 하나로 설정합니다.
값 | Description |
---|---|
ProductID | 제품 식별자입니다. 자세한 내용은 ProductID 속성을 참조하세요. |
RegCompany | 제품을 사용하도록 등록된 회사입니다. |
RegOwner | 제품을 사용하도록 등록된 소유자입니다. |
제품의 instance 유형을 검색하려면 szProperty를 다음 값으로 설정합니다. 이 속성은 보급된 제품 또는 설치된 제품에 사용할 수 있습니다.
값 | 설명 |
---|---|
InstanceType | 값이 없거나 값이 0이면 일반 제품 설치를 나타냅니다. 값 1은 다중 instance 변환 및 MSINEWINSTANCE 속성을 사용하여 설치된 제품을 나타냅니다. 자세한 내용은 제품 및 패치의 여러 인스턴스 설치를 참조하세요. |
다음 표의 속성은 보급되거나 설치된 애플리케이션에서 검색할 수 있습니다. 이러한 속성은 현재 사용자 계정이 아닌 사용자 계정에 대해 사용자별 관리되지 않는 컨텍스트에 설치된 제품 인스턴스에 대해 검색할 수 없습니다.
속성 | Description |
---|---|
INSTALLPROPERTY_TRANSFORMS | 변환. |
INSTALLPROPERTY_LANGUAGE | 제품 언어입니다. |
INSTALLPROPERTY_PRODUCTNAME | 사람이 읽을 수 있는 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요. |
INSTALLPROPERTY_ASSIGNMENTTYPE | 제품이 사용자별로 보급되거나 설치된 경우 0과 같습니다.
제품이 모든 사용자에 대해 컴퓨터별로 보급되거나 설치된 경우 1입니다. |
INSTALLPROPERTY_PACKAGECODE | 제품이 설치된 패키지의 식별자입니다. 자세한 내용은 패키지 코드 속성을 참조하세요. |
INSTALLPROPERTY_VERSION | ProductVersion 속성에서 파생된 제품 버전입니다. |
INSTALLPROPERTY_PRODUCTICON | 패키지의 기본 아이콘입니다. 자세한 내용은 ARPPRODUCTICON 속성을 참조하세요. |
INSTALLPROPERTY_PACKAGENAME | 원래 설치 패키지의 이름입니다. |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | 값 1은 UAC(사용자 계정 컨트롤) 패치를 사용하여 관리자가 아닌 사용자가 서비스할 수 있는 제품을 나타냅니다. 값이 없거나 값이 0이면 최소 권한 패치를 사용할 수 없음을 나타냅니다. Windows Installer 3.0 이상에서 사용할 수 있습니다. |
[out, optional] szValue
속성 값을 받는 버퍼에 대한 포인터입니다. 이 버퍼는 정보를 포함할 수 있을 만큼 커야 합니다. 버퍼가 너무 작으면 함수는 ERROR_MORE_DATA 반환하고 *pcchValue 를 종료 NULL 문자를 포함하지 않고 값의 TCHAR 수로 설정합니다.
lpValue가 NULL로 설정되고 pcchValue가 유효한 포인터로 설정된 경우 함수는 ERROR_SUCCESS 반환하고 *pcchValue를 종료 NULL 문자를 포함하지 않고 값의 TCHAR 수로 설정합니다. 그런 다음 함수를 다시 호출하여 값을 검색할 수 있으며 lpValue 버퍼는 *pcchValue + 1자를 포함할 만큼 충분히 큽니다.
lpValue와 pcchValue가 모두 NULL로 설정된 경우 함수는 값을 검색하지 않고 값이 있는 경우 ERROR_SUCCESS 반환합니다.
[in, out, optional] pcchValue
lpValue 버퍼의 TCHAR 수를 지정하는 변수에 대한 포인터입니다. 함수가 반환될 때 이 매개 변수는 함수가 지정된 버퍼에 값을 복사하는지 여부에 관계없이 요청된 값의 크기로 설정됩니다. 크기는 종료 null 문자를 포함하지 않고 요청된 값의 TCHAR 수로 반환됩니다.
lpValue도 NULL인 경우에만 이 매개 변수를 NULL로 설정할 수 있습니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.
반환 값
MsiGetProductInfoEx 함수는 다음 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
호출 프로세스에서 현재 사용자 이외의 사용자에 대해 설치된 제품의 정보를 얻으려면 관리 권한이 있어야 합니다. |
|
구성 데이터가 손상되었습니다. |
|
잘못된 매개 변수가 함수에 전달됩니다. |
|
버퍼가 너무 작아서 요청된 데이터를 보유할 수 없습니다. |
|
함수가 성공적으로 완료되었습니다. |
|
제품이 제거되거나 제거됩니다. |
|
속성을 인식할 수 없는 경우
참고MsiGetProductInfo 함수는 쿼리 중인 애플리케이션이 보급되고 설치되지 않은 경우 ERROR_UNKNOWN_PROPERTY 반환합니다.
|
|
예기치 않은 내부 오류입니다. |
설명
MsiGetProductInfoEx 함수가 반환되면 pcchValue 매개 변수는 버퍼에 저장된 문자열의 길이를 포함합니다. 반환된 개수에는 종료 null 문자가 포함되지 않습니다. 버퍼가 충분히 크지 않으면 MsiGetProductInfoEx 는 ERROR_MORE_DATA 반환하고 pcchValue 매개 변수는 null 문자를 계산하지 않고 TCHAR에 문자열의 크기를 포함합니다.
msiGetProductInfoEx 함수(INSTALLPROPERTY_LOCALPACKAGE)는 캐시된 패키지의 경로를 반환합니다. 캐시된 패키지는 내부 전용입니다. 유지 관리 모드 설치는 MsiConfigureFeature, MsiConfigureProduct 또는 MsiConfigureProductEx 함수를 통해 호출되어야 합니다.
MsiGetProductInfo 함수는 쿼리 중인 애플리케이션이 보급되고 설치되지 않은 경우 ERROR_UNKNOWN_PROPERTY 반환합니다. 예를 들어 애플리케이션이 보급되고 설치되지 않은 경우 INSTALLPROPERTY_INSTALLLOCATION 쿼리는 ERROR_UNKNOWN_PROPERTY 오류를 반환합니다.
참고
msi.h 헤더는 MSiGetProductInfoEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer 런타임 요구 사항을 참조하세요. |
대상 플랫폼 | Windows |
헤더 | msi.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |