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


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

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

Синтаксис

UINT MsiEnumFeaturesA(
  [in]  LPCSTR szProduct,
  [in]  DWORD  iFeatureIndex,
  [out] LPSTR  lpFeatureBuf,
  [out] LPSTR  lpParentBuf
);

Параметры

[in] szProduct

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

[in] iFeatureIndex

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

[out] lpFeatureBuf

Указатель на буфер, который получает идентификатор компонента. Размер буфера должен содержать строковое значение длины MAX_FEATURE_CHARS+1. Функция возвращает ERROR_MORE_DATA , если длина идентификатора компонента превышает MAX_FEATURE_CHARS.

[out] lpParentBuf

Указатель на буфер, который получает идентификатор компонента родительского элемента компонента. Размер буфера должен содержать строковое значение длины MAX_FEATURE_CHARS+1. Если длина идентификатора родительского компонента превышает MAX_FEATURE_CHARS, в буфер копируются только первые символы MAX_FEATURE_CHARS .

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

Значение Значение
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр.
ERROR_MORE_DATA
Буфер слишком мал для хранения запрошенных данных.
ERROR_NO_MORE_ITEMS
Возвращаемые функции отсутствуют.
ERROR_SUCCESS
Значение перечислено.
ERROR_UNKNOWN_PRODUCT
Указанный продукт неизвестен.
 
 

Комментарии

Для перечисления функций приложение должно сначала вызвать функцию MsiEnumFeatures с параметром iFeatureIndex , равным нулю. Затем приложение должно увеличить параметр iFeatureIndex и вызывать MsiEnumFeatures , пока не будет больше функций (т. е. пока функция не вернет ERROR_NO_MORE_ITEMS).

Примечание

Заголовок msi.h определяет MsiEnumFeatures в качестве псевдонима, который автоматически выбирает версию 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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

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

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