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


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

Функция MsiEnumRelatedProducts перечисляет продукты с указанным кодом обновления. Эта функция перечисляет установленные и объявленные продукты, имеющие указанное свойство UpgradeCode в таблице свойств свойств.

Синтаксис

UINT MsiEnumRelatedProductsW(
  [in]  LPCWSTR lpUpgradeCode,
  [in]  DWORD   dwReserved,
  [in]  DWORD   iProductIndex,
  [out] LPWSTR  lpProductBuf
);

Параметры

[in] lpUpgradeCode

Строка, завершающаяся значением NULL, указывающая код обновления связанных продуктов, которые требуется перечислить установщику.

[in] dwReserved

Этот параметр зарезервирован и должен иметь значение 0.

[in] iProductIndex

Отсчитываемый от нуля индекс зарегистрированных продуктов.

[out] lpProductBuf

Буфер для получения GUID кода продукта. Этот буфер должен иметь длину 39 символов. Первые 38 символов предназначены для GUID, а последний — для конца null- символа.

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

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

Замечания

См. свойство UpgradeCode.

Чтобы перечислить установленные и объявленные продукты с определенным кодом обновления, приложение должно изначально вызвать функцию MsiEnumRelatedProducts с параметром iProductIndex, равным нулю. Затем приложение должно увеличить параметр iProductIndex и вызвать MsiEnumRelatedProducts, пока функция не вернет ERROR_NO_MORE_ITEMS, что означает, что нет продуктов с указанным кодом обновления.

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

Заметка

Заголовок msi.h определяет MsiEnumRelatedProducts в качестве псевдонима, который автоматически выбирает версию 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