MsiGetProductPropertyA function (msi.h)
The MsiGetProductProperty function retrieves product properties. These properties are in the product database.
Syntax
UINT MsiGetProductPropertyA(
[in] MSIHANDLE hProduct,
[in] LPCSTR szProperty,
[out] LPSTR lpValueBuf,
[in, out] LPDWORD pcchValueBuf
);
Parameters
[in] hProduct
Handle to the product obtained from MsiOpenProduct.
[in] szProperty
Specifies the property to retrieve. This is case-sensitive.
[out] lpValueBuf
Pointer to a buffer that receives the property value. The value is truncated and null-terminated if lpValueBuf is too small. This parameter can be null.
[in, out] pcchValueBuf
Pointer to a variable that specifies the size, in characters, of the buffer pointed to by the lpValueBuf parameter. On input, this is the full size of the buffer, including a space for a terminating null character. If the buffer passed in is too small, the count returned does not include the terminating null character.
If lpValueBuf is null, pcchValueBuf can be null.
Return value
The MsiGetProductProperty function return the following values.
Value | Meaning |
---|---|
|
An invalid parameter was passed to the function. |
|
An invalid handle was passed to the function. |
|
A buffer is too small to hold the entire property value. |
|
The function completed successfully. |
Remarks
When the MsiGetProductProperty function returns, the pcchValueBuf parameter contains the length of the string stored in the buffer. The count returned does not include the terminating null character. If the buffer is not big enough, MsiGetProductProperty returns ERROR_MORE_DATA, and MsiGetProductProperty contains the size of the string, in characters, without counting the null character.
Note
The msi.h header defines MsiGetProductProperty as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer on Windows Server 2003 or Windows XP. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version. |
Target Platform | Windows |
Header | msi.h |
Library | Msi.lib |
DLL | Msi.dll |