Функция 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 символы.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Данные конфигурации повреждены. |
|
Недопустимый параметр был передан функции. |
|
Буфер слишком мал для хранения запрошенных данных. |
|
Возвращаемые функции отсутствуют. |
|
Было перечислено значение. |
|
Указанный продукт неизвестен. |
Замечания
Чтобы перечислить функции, приложение должно изначально вызывать функцию 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 |