[This is preliminary documentation and subject to change.]
The MsiEnumComponentQualifiers function enumerates the advertised qualifiers for the given component. This function retrieves one qualifier each time it is called.
UINT MsiEnumComponentQualifiers(
LPTSTR szComponent, // component ID
DWORD iIndex, // 0-based index into component qualifiers
LPTSTR lpQualifierBuf, // buffer to return qualifier
DWORD *pcchQualifierBuf, // in/out qualifier buffer character count
LPTSTR lpApplicationDataBuf, // buffer to return application-registered data
DWORD *pcchApplicationDataBuf // in/out lpApplicationDataBuf character count
);
To enumerate qualifiers, an application should initially call the MsiEnumComponentQualifiers function with the iIndex parameter set to zero. The application should then increment the iIndex parameter and call MsiEnumComponentQualifiers until there are no more products (that is, until the function returns ERROR_NO_MORE_ITEMS).
When MsiEnumComponentQualifiers returns, the pcchQualifierBuf parameter contains the length of the qualifier string stored in the buffer. The count returned does not include the terminating null character. If the buffer is not big enough, MsiEnumComponentQualifiers returns ERROR_MORE_DATA, and this parameter contains the size of the string, in characters, without counting the NULL character. The same mechanism applies to pcchDescriptionBuf.
Windows NT: Requires version 4.0 or later. Available as a redistributable for Windows NT 4.0.
Windows: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in msi.h.
Import Library: Use msi.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.