アドレス帳エントリの比較

適用対象: Outlook 2013 | Outlook 2016

プロバイダーの IABLogon::CompareEntryIDs 実装は、プロバイダーの 2 つのオブジェクトのエントリ識別子を比較します。 MAPI は、2 つのエントリ識別子にプロバイダーの登録済み MAPIUID が含まれていることを確認した後、このメソッドを呼び出します。 したがって、CompareEntryIDs メソッドは、lpEntryID1 パラメーターと lpEntryID2 パラメーターに渡されたエントリ識別子がプロバイダーに属していることをチェックする必要はありません。

IABLogon::CompareEntryIDs の呼び出しは、2 つのオブジェクトごとにPR_RECORD_KEY (PidTagRecordKey) プロパティを取得し、それらを直接比較することと同じです。

CompareEntryIds を実装するには

  1. プロバイダーがその情報を格納している場合は、渡されるエントリ識別子の種類を確認します。 たとえば、1 つのエントリ識別子はメッセージング ユーザーに属し、もう 1 つは配布リストに属している可能性があります。 型が一致しない場合は、 lpulResult パラメーターの内容を FALSE に設定し、 を返します。

  2. 2 つのエントリ識別子のサイズを比較します。 同じでない場合は、 lpulResult パラメーターの内容を FALSE に設定し、 を返します。

  3. エントリ識別子のサイズが、その型に適したサイズであることを確認します。 そうでない場合は、 lpulResult パラメーターの内容を FALSE に設定し、エラー値をMAPI_E_UNKNOWN_ENTRYID返します。

  4. エントリ識別子が同じかどうかを確認します。 等しく比較する場合は、 lpulResult パラメーターの内容を TRUE に設定し、 を返します。 それ以外の場合は、返す前に FALSE に設定します。

  5. プロバイダーが短期エントリ識別子と長期的な識別子を比較している場合、プロバイダーは等しく比較する必要があります。