Функция MsiEnumProductsA (msi.h)
Функция MsiEnumProducts перечисляет все продукты, объявленные или установленные в данный момент. Продукты, установленные как на пользователя, так и на компьютер, контекст установки и объявления перечисляются.
Синтаксис
UINT MsiEnumProductsA(
[in] DWORD iProductIndex,
[out] LPSTR lpProductBuf
);
Параметры
[in] iProductIndex
Указывает индекс извлекаемого продукта. Этот параметр должен быть равен нулю для первого вызова функции MsiEnumProducts, а затем увеличивается для последующих вызовов. Поскольку продукты не упорядочены, любой новый продукт имеет произвольный индекс. Это означает, что функция может возвращать продукты в любом порядке.
[out] lpProductBuf
Указатель на буфер, получающий код продукта. Этот буфер должен иметь длину 39 символов. Первые 38 символов предназначены для GUID, а последний — для завершающего символа NULL.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Данные конфигурации повреждены. |
|
Недопустимый параметр был передан функции. |
|
Нет продуктов для возврата. |
|
В системе недостаточно памяти для завершения операции. Доступно в Windows Server 2003. |
|
Было перечислено значение. |
Замечания
Чтобы перечислить продукты, приложение должно изначально вызвать функцию MsiEnumProducts с параметром iProductIndex равным нулю. Затем приложение должно увеличить параметр iProductIndex и вызвать MsiEnumProducts, пока не будет больше продуктов (пока функция не возвращает ERROR_NO_MORE_ITEMS).
При выполнении нескольких вызовов MsiEnumProducts для перечисления всех продуктов каждый вызов должен выполняться из одного потока.
Заметка
Заголовок msi.h определяет MsiEnumProducts как псевдоним, который автоматически выбирает версию 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 |