Функция MsiEnumClientsW (msi.h)
Функция MsiEnumClients перечисляет клиенты для заданного установленного компонента. Функция получает один код продукта при каждом вызове.
Синтаксис
UINT MsiEnumClientsW(
[in] LPCWSTR szComponent,
[in] DWORD iProductIndex,
[out] LPWSTR lpProductBuf
);
Параметры
[in] szComponent
Указывает компонент, клиенты которого должны быть перечислены.
[in] iProductIndex
Указывает индекс извлекаемого клиента. Этот параметр должен быть равен нулю для первого вызова функции MsiEnumClients , а затем увеличиваться для последующих вызовов. Так как клиенты не упорядочены, любой новый клиент имеет произвольный индекс. Это означает, что функция может возвращать клиенты в любом порядке.
[out] lpProductBuf
Указатель на буфер, который получает код продукта. Длина этого буфера должна составлять 39 символов. Первые 38 символов предназначены для GUID, а последний — для завершающего символа NULL.
Возвращаемое значение
Значение | Значение |
---|---|
|
Данные конфигурации повреждены. |
|
В функцию передан недопустимый параметр. |
|
Нет клиентов для возврата. |
|
В системе недостаточно памяти для выполнения операции. Доступно в Windows Server 2003. |
|
Значение перечислено. |
|
Указанный компонент неизвестен. |
Комментарии
Для перечисления клиентов приложение должно сначала вызвать функцию MsiEnumClients с параметром iProductIndex , равным нулю. Затем приложение должно увеличить параметр iProductIndex и вызывать MsiEnumClients , пока не будет больше клиентов (т. е. пока функция не вернет ERROR_NO_MORE_ITEMS).
При выполнении нескольких вызовов MsiEnumClients для перечисления всех клиентов компонента каждый вызов должен выполняться из одного потока.
Примечание
Заголовок msi.h определяет MsiEnumClients в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в разделе Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |