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
指定摘要屬性的屬性識別碼。 此參數可以是 [摘要資訊] Stream 屬性集中列出的屬性標識碼。 此函式不會傳回 PID_DICTIONARY OR PID_THUMBNAIL 屬性的值。
[out] puiDataType
接收傳回的屬性類型。 這個參數可以是 中所列的類型
摘要資訊 Stream 屬性集。
[out] piValue
接收傳回的整數屬性數據。
[out] pftValue
檔案值的指標。
[out] szValueBuf
接收 Null 終止摘要資訊屬性值之緩衝區的指標。 請勿嘗試藉由傳入 szValueBuf 的 null (值=0) ,來判斷緩衝區的大小。 您可以藉由傳入空字串 (來取得緩衝區的大小,例如 “”) 。 然後函式會傳回 ERROR_MORE_DATA, 而pcchValueBuf 包含 TCHAR中所需的緩衝區大小,不包括終止的Null字元。 在傳回ERROR_SUCCESS時, pcchValueBuf 包含寫入緩衝區的 TCHAR 數目,不包括終止的 Null 字元。 如果沒有任何錯誤,這個參數就是空字串。
[in, out] pcchValueBuf
變數指標,指定變數 szValueBuf 所指向緩衝區的大小,以 TCHAR 為單位。 當函式傳回ERROR_SUCCESS時,此變數會包含複製到 szValueBuf 的數據大小,不包含終止的 Null 字元。 如果 szValueBuf 不夠大,函式會傳回ERROR_MORE_DATA並儲存必要的大小,不包括 pcchValueBuf 指向的變數中的終止 Null 字元。
傳回值
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 |
目標平台 | Windows |
標頭 | msiquery.h |
程式庫 | Msi.lib |
Dll | Msi.dll |