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


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

Функция MsiGetFeatureInfo возвращает описательные сведения для функции.

Синтаксис

UINT MsiGetFeatureInfoA(
  [in]                MSIHANDLE hProduct,
  [in]                LPCSTR    szFeature,
  [out, optional]     LPDWORD   lpAttributes,
  [out, optional]     LPSTR     lpTitleBuf,
  [in, out, optional] LPDWORD   pcchTitleBuf,
  [out, optional]     LPSTR     lpHelpBuf,
  [in, out, optional] LPDWORD   pcchHelpBuf
);

Параметры

[in] hProduct

Обработка продукта, который владеет функцией. Этот дескриптор получен из MsiOpenProduct.

[in] szFeature

Код компонента для функции, о которой должны быть возвращены сведения.

[out, optional] lpAttributes

Указатель на расположение, содержащее один или несколько следующих флагов атрибутов.

INSTALLFEATUREATTRIBUTE_FAVORLOCAL (1)

INSTALLFEATUREATTRIBUTE_FAVORSOURCE (2)

INSTALLFEATUREATTRIBUTE_FOLLOWPARENT (4)

INSTALLFEATUREATTRIBUTE_FAVORADVERTISE (8)

INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE (16)

INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE (32)

Дополнительные сведения см. в разделе
таблицу компонентов. Значения, возвращаемые MsiGetFeatureInfo, являются двойными значениями в столбце "Атрибуты" таблицы компонентов.

[out, optional] lpTitleBuf

Указатель на буфер для получения локализованного имени компонента, соответствующего полю Title в таблице компонентов.

Этот параметр является необязательным и может иметь значение NULL.

[in, out, optional] pcchTitleBuf

В качестве входных данных размер lpTitleBuf. В качестве выходных данных число символов, возвращенных в lpTitleBuf. В входных данных это полный размер буфера и пробел для конца символа NULL. Если буфер, переданный слишком маленьким, возвращаемое число не включает завершающийся символ NULL.

[out, optional] lpHelpBuf

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

[in, out, optional] pcchHelpBuf

В качестве входных данных размер lpHelpBuf. В качестве выходных данных число символов, возвращаемых в lpHelpBuf. В входных данных это полный размер буфера и пробел для конца символа NULL. Если буфер, переданный слишком маленьким, возвращаемое число не включает завершающий символ NULL.

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

Возвращаемый код Описание
ERROR_INVALID_HANDLE
Дескриптор продукта недопустим.
ERROR_INVALID_PARAMETER
Один из параметров недопустим.
ERROR_MORE_DATA
Буфер слишком мал для хранения запрошенных данных.
ERROR_SUCCESS
Функция возвращается успешно.
ERROR_UNKNOWN_FEATURE
Эта функция не известна.

Замечания

Размер буфера для функции MsiGetFeatureInfo должен содержать дополнительный символ для завершающего символа NULL. Если буфер слишком мал, возвращаемая строка усечена значением NULL, а размер буфера содержит количество символов в целой строке, не включая завершающий символ NULL. Дополнительные сведения см. в разделе вызов функций базы данных из программ.

Заметка

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

См. также

функции запросов к продукту