IROTData::GetComparisonData 方法 (objidl.h)
從Moniker擷取數據,可用來測試Moniker是否與另一個Moniker相等。
語法
HRESULT GetComparisonData(
[out] byte *pbData,
[in] ULONG cbMax,
[out] ULONG *pcbData
);
參數
[out] pbData
接收比較數據的緩衝區指標。
[in] cbMax
pbData 中指定的緩衝區長度。
[out] pcbData
接收比較數據長度之變數的指標。
傳回值
這個方法可以傳回標準傳回值E_OUTOFMEMORY和S_OK。
備註
GetComparisonData 方法主要是由執行中的對象數據表呼叫, (ROT) 。 方法所傳回的比較數據會針對另一個Moniker所傳回的比較數據,測試二進位相等性。 此 azureData 參數可讓 ROT 找出所擷取數據的結尾。
實作者的注意事項
您傳回的比較數據必須唯一識別Moniker,同時仍盡可能短。 比較數據應該包含Moniker內部狀態的相關信息,以及Moniker的CLSID。 例如,檔案Moniker的比較數據會包含儲存在Moniker中的路徑名稱,以及檔案Moniker實作的CLSID。 這可讓您區分兩個發生儲存類似狀態資訊的Moniker,但是不同Moniker類別的實例。Moniker 的比較數據長度不能超過 2048 個字節。 針對複合Monikers,其所有元件的比較數據總長度不能超過2048個字節;因此,如果您的Moniker可以是複合Moniker內的元件,您傳回的比較數據必須明顯小於2048個字節。
如果您的比較資料超過 cbMax 參數所指定的值,您必須傳回錯誤。 請注意,在複合Moniker的元件上呼叫 GetComparisonData 時, cbMax 的值會依序的每個Moniker變小。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | objidl.h |