Функция 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 или Юникод этой функции на основе определения константы препроцессора 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

См. также раздел

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