共用方式為


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

另請參閱

IROTData