IAddrBook::CompareEntryIDs
適用於:Outlook 2013 |Outlook 2016
比較屬於特定通訊簿提供者的兩個專案標識符,以判斷它們是否參考相同的通訊錄物件。
HRESULT CompareEntryIDs(
ULONG cbEntryID1,
LPENTRYID lpEntryID1,
ULONG cbEntryID2,
LPENTRYID lpEntryID2,
ULONG ulFlags,
ULONG FAR * lpulResult
);
參數
cbEntryID1
[in] lpEntryID1 參數所指向之專案標識碼中的位元組計數。
lpEntryID1
[in]要比較之第一個項目標識碼的指標。
cbEntryID2
[in] lpEntryID2 參數所指向之專案標識碼中的位元組計數。
lpEntryID2
[in]要比較之第二個項目標識碼的指標。
ulFlags
[in]保留;必須是零。
lpulResult
[out]比較結果的指標。 如果兩個專案標識碼參考相同的物件, 則 lpulResult 的內容會設定為 TRUE;否則,內容會設定為 FALSE。
傳回值
S_OK
呼叫成功,並傳回預期的值。
MAPI_E_UNKNOWN_ENTRYID
任何通訊簿提供者都無法辨識使用 lpEntryID1 或 lpEntryID2 參數傳入的一或兩個專案識別碼。
註解
用戶端應用程式和服務提供者會呼叫 CompareEntryIDs 方法來比較屬於單一通訊簿提供者的兩個專案標識碼,以判斷它們是否參考相同的物件。 CompareEntryIDs 很有用,因為物件可以有一個以上的有效專案標識符。 例如,安裝新版通訊簿提供者之後,就可能發生這種情況。
MAPI 會將此呼叫傳遞給負責專案標識碼的通訊簿提供者,藉由比對專案標識碼中的 MAPIUID 結構與提供者所註冊 的MAPIUID 結構來判斷適當的提供者。
如果兩個專案標識碼參考相同的物件, CompareEntryIDs 會 將 lpulResult 參數的內容設定為 TRUE;如果它們參考不同的物件, 則 CompareEntryIDs 會 將內容設定為 FALSE。 不論是哪一種情況, CompareEntryIDs 都會 傳回 S_OK。 如果 CompareEntryIDs 傳回錯誤,如果沒有任何通訊簿提供者註冊的 MAPIUID 結構符合專案標識碼中的 MAPIUID 結構,用戶端和提供者就不應該根據比較結果採取任何動作。 他們應改為對所執行的動作採取最保守的方法。