MsiSummaryInfoGetPropertyA 函式 (msiquery.h)
MsiSummaryInfoGetProperty 函式會從 摘要資訊數據流取得單一屬性。
語法
UINT MsiSummaryInfoGetPropertyA(
[in] MSIHANDLE hSummaryInfo,
[in] UINT uiProperty,
[out] PUINT puiDataType,
[out] LPINT piValue,
[out] FILETIME *pftValue,
[out] LPSTR szValueBuf,
[in, out] LPDWORD pcchValueBuf
);
參數
[in] hSummaryInfo
處理摘要資訊。
[in] uiProperty
指定摘要屬性的屬性識別碼。 此參數可以是 摘要資訊數據流屬性集中列出的屬性識別碼。 此函式不會傳回 PID_DICTIONARY OR PID_THUMBNAIL 屬性的值。
[out] puiDataType
接收傳回的屬性類型。 此參數可以是 中所列的類型
摘要資訊資料串流屬性集。
[out] piValue
接收傳回的整數屬性數據。
[out] pftValue
檔案值的指標。
[out] szValueBuf
接收 Null 終止摘要資訊屬性值之緩衝區的指標。 請勿嘗試藉由傳入 szValueBuf的 null (value=0) 來判斷緩衝區的大小。 您可以傳入空字串來取得緩衝區的大小(例如 “” )。 然後,函式會傳回ERROR_MORE_DATA,pcchValueBuf 包含 TCHAR中所需的緩衝區大小,不包括終止的 null 字元。 傳回ERROR_SUCCESS時,pcchValueBuf 包含寫入緩衝區的 TCHA R 數目,不包括終止的 Null 字元。 如果沒有錯誤,此參數是空字串。
[in, out] pcchValueBuf
指定變數 TCHAR中,變數所指向之緩衝區大小 szValueBuf的指標。 當函式傳回ERROR_SUCCESS時,此變數會包含複製到 s szValueBuf 的數據大小,不包括終止的 Null 字元。 如果 szValueBuf 不夠大,函式會傳回ERROR_MORE_DATA並儲存必要的大小,不包括終止 null 字元,pcchValueBuf 所指向的變數中。
傳回值
MsiSummaryInfoGetProperty 函式會傳回下列其中一個值:
言論
如果傳回ERROR_MORE_DATA,則為指標的參數會提供保存字串所需的緩衝區大小。 如果傳回ERROR_SUCCESS,則會提供寫入字串緩衝區的字元數。 因此,您可以傳入指定緩衝區之參數的空字串 (例如 “”) 來取得緩衝區的大小。 請勿嘗試藉由傳入 Null (value=0) 來判斷緩衝區的大小。
在使用者提供的記憶體位置中傳回數據的 Windows Installer 函式,不應以 null 作為指標的值來呼叫。 這些函式會傳回字串或以整數指標傳回數據,但在傳遞 null 做為輸出自變數的值時傳回不一致的值。 如需詳細資訊,請參閱 傳遞 Null 作為 Windows Installer 函式的自變數。
MsiSummaryInfoGetProperty 函式傳回的屬性資訊是由 piValue、pftValue或 szValueBuf 參數所接收,視已在 puiDataType 參數中指定的屬性值類型而定。
注意
msiquery.h 標頭會根據 UNICODE 預處理器常數的定義,將 MsiSummaryInfoGetProperty 定義為自動選取此函式的 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 |