msi.h) (MsiGetFeatureInfoA 函数
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
);
parameters
[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
指向用于接收功能本地化名称的缓冲区的指针,该名称对应于 特征表中的“标题”字段。
此参数是可选的,并且可为 null。
[in, out, optional] pcchTitleBuf
作为输入, 为 lpTitleBuf 的大小。 作为输出, lpTitleBuf 中返回的字符数。 输入时,这是缓冲区的完整大小,并且包含一个用于终止 null 字符的空间。 如果传入的缓冲区太小,则返回的计数不包括终止 null 字符。
[out, optional] lpHelpBuf
指向缓冲区的指针,用于接收功能的本地化说明,对应于功能 表中功能的“说明”字段。 此参数是可选的,并且可为 null。
[in, out, optional] pcchHelpBuf
作为输入, lpHelpBuf 的大小。 作为输出, 为 lpHelpBuf 中返回的字符数。 输入时,这是缓冲区的完整大小,并且包含一个用于终止 null 字符的空间。 如果传入的缓冲区太小,则返回的计数不包括终止 null 字符。
返回值
返回代码 | 说明 |
---|---|
|
产品句柄无效。 |
|
其中一个参数无效。 |
|
缓冲区太小,无法保存请求的数据。 |
|
函数成功返回。 |
|
该功能未知。 |
注解
MsiGetFeatureInfo 函数的缓冲区大小应包含终止 null 字符的额外字符。 如果缓冲区太小,则返回的字符串将被 null 截断,并且缓冲区大小包含整个字符串中的字符数,不包括终止 null 字符。 有关详细信息,请参阅 从程序调用数据库函数。
注意
msi.h 标头将 MsiGetFeatureInfo 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer。 若要了解 Windows Installer 版本所需的最低 Windows Service Pack,请参阅 Windows Installer 运行时要求。 |
目标平台 | Windows |
标头 | msi.h |
Library | Msi.lib |
DLL | Msi.dll |