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


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

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

Синтаксис

UINT MsiEnumFeaturesW(
  [in]  LPCWSTR szProduct,
  [in]  DWORD   iFeatureIndex,
  [out] LPWSTR  lpFeatureBuf,
  [out] LPWSTR  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".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

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