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
指向用于接收功能的本地化名称的缓冲区的指针,该名称对应于 功能表中的“标题”字段。
此参数是可选的,可以为 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 Run-Time 要求。 |
目标平台 | 窗户 |
标头 | msi.h |
库 | Msi.lib |
DLL | Msi.dll |