Поделиться через


Функция MsiEnumClientsA (msi.h)

Функция MsiEnumClients перечисляет клиенты для заданного установленного компонента. Функция получает один код продукта при каждом вызове.

Синтаксис

UINT MsiEnumClientsA(
  [in]  LPCSTR szComponent,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Параметры

[in] szComponent

Указывает компонент, для которого необходимо перечислить клиенты.

[in] iProductIndex

Указывает индекс извлекаемого клиента. Этот параметр должен быть равен нулю для первого вызова функции MsiEnumClients, а затем увеличивается для последующих вызовов. Так как клиенты не упорядочены, любой новый клиент имеет произвольный индекс. Это означает, что функция может возвращать клиенты в любом порядке.

[out] lpProductBuf

Указатель на буфер, получающий код продукта. Этот буфер должен иметь длину 39 символов. Первые 38 символов предназначены для GUID, а последний — для завершающего символа NULL.

Возвращаемое значение

Ценность Значение
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INVALID_PARAMETER
Недопустимый параметр был передан функции.
ERROR_NO_MORE_ITEMS
Нет клиентов для возврата.
ERROR_NOT_ENOUGH_MEMORY
В системе недостаточно памяти для завершения операции. Доступно в Windows Server 2003.
ERROR_SUCCESS
Было перечислено значение.
ERROR_UNKNOWN_COMPONENT
Указанный компонент неизвестен.

Замечания

Чтобы перечислить клиенты, приложение должно изначально вызывать функцию msiEnumClients с параметром iProductIndex равным нулю. Затем приложение должно увеличить параметр iProductIndex и вызвать MsiEnumClients, пока не будет больше клиентов (т. е. пока функция не возвращает ERROR_NO_MORE_ITEMS).

При выполнении нескольких вызовов MsiEnumClients для перечисления всех клиентов компонента каждый вызов должен выполняться из одного потока.

Заметка

Заголовок msi.h определяет MsiEnumClients как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик 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".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

функции состояния системы