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。

如果使用 uiUpdateCount 大于 0 的值打开现有摘要信息流,则必须在关闭 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
目标平台 窗户
标头 msiquery.h
Msi.lib
DLL Msi.dll

另请参阅

摘要信息属性函数

摘要信息流属性集