MsiEnumClientsA function (msi.h)
The MsiEnumClients function enumerates the clients for a given installed component. The function retrieves one product code each time it is called.
Syntax
UINT MsiEnumClientsA(
[in] LPCSTR szComponent,
[in] DWORD iProductIndex,
[out] LPSTR lpProductBuf
);
Parameters
[in] szComponent
Specifies the component whose clients are to be enumerated.
[in] iProductIndex
Specifies the index of the client to retrieve. This parameter should be zero for the first call to the MsiEnumClients function and then incremented for subsequent calls. Because clients are not ordered, any new client has an arbitrary index. This means that the function can return clients in any order.
[out] lpProductBuf
Pointer to a buffer that receives the product code. This buffer must be 39 characters long. The first 38 characters are for the GUID, and the last character is for the terminating null character.
Return value
Value | Meaning |
---|---|
|
The configuration data is corrupt. |
|
An invalid parameter was passed to the function. |
|
There are no clients to return. |
|
The system does not have enough memory to complete the operation. Available with Windows Server 2003. |
|
A value was enumerated. |
|
The specified component is unknown. |
Remarks
To enumerate clients, an application should initially call the MsiEnumClients function with the iProductIndex parameter set to zero. The application should then increment the iProductIndex parameter and call MsiEnumClients until there are no more clients (that is, until the function returns ERROR_NO_MORE_ITEMS).
When making multiple calls to MsiEnumClients to enumerate all of the component's clients, each call should be made from the same thread.
Note
The msi.h header defines MsiEnumClients 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 |