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 來開啟現有的摘要資訊數據流,必須先呼叫 MsiSummaryInfoPersist ,才能關閉 phSummaryInfo 句柄。 若無法這麼做,將會遺失現有的數據流資訊。

若要使用 MsiGetSummaryInformation 檢視修補程式的摘要資訊,請將 szDatabasePath 設定為修補程序的路徑。 或者,您可以使用 MsiOpenDatabase 建立修補程式的句柄,然後將該句柄傳遞至 MsiGetSummaryInformation 作為 hDatabase 參數。

請注意,建議您使用 PMSIHANDLE 類型的變數,因為安裝程式會在 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
程式庫 Msi.lib
Dll Msi.dll

另請參閱

Summary Information 屬性函式

摘要資訊 Stream 屬性集