msigetSummaryInformationA 函数 (msiquery.h)
MsiGetSummaryInformation 函数获取安装程序数据库的_SummaryInformation流的句柄。 此函数返回应使用 MsiCloseHandle 关闭的句柄。
语法
UINT MsiGetSummaryInformationA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szDatabasePath,
[in] UINT uiUpdateCount,
[out] MSIHANDLE *phSummaryInfo
);
参数
[in] hDatabase
数据库的句柄。
[in] szDatabasePath
指定数据库的路径。
[in] uiUpdateCount
指定已更新值的最大数目。
[out] phSummaryInfo
指向从中接收摘要信息句柄的位置的指针。
返回值
MsiGetSummaryInformation 函数返回以下值:
注解
如果 MsiGetSummaryInformation 函数指定的数据库未打开,则必须为 hDatabase 指定 0,并在 szDatabasePath 中指定数据库的路径。 如果数据库处于打开状态,则必须将 szDatabasePath 设置为 0。
如果使用大于 0 的 uiUpdateCount 值打开现有摘要信息流,则必须在关闭 phSummaryInfo 句柄之前调用 MsiSummaryInfoPersist 。 否则,将会丢失现有流信息。
若要使用 MsiGetSummaryInformation 查看修补程序的摘要信息,请将 szDatabasePath 设置为修补程序的路径。 或者,可以使用 MsiOpenDatabase 创建修补程序句柄,然后将该句柄作为 hDatabase 参数传递给 MsiGetSummaryInformation。
请注意,建议使用 PMSIHANDLE 类型的变量,因为安装程序在 PMSIHANDLE 对象超出范围时会关闭它们,而必须通过调用 MsiCloseHandle 关闭 MSIHANDLE 对象。 有关详细信息,请参阅 Windows Installer 最佳做法中的使用 PMSIHANDLE 而非 HANDLE 部分。
如果函数失败,可以使用 MsiGetLastErrorRecord 获取扩展的错误信息。
注意
msiquery.h 标头将 MsiGetSummaryInformation 定义为别名,该别名根据 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 |
标头 | msiquery.h |
Library | Msi.lib |
DLL | Msi.dll |