オブジェクトへのアクセスとの比較をサポートしています。Supporting Object Access and Comparison

適用されます: OutlookApplies to: Outlook

サービス プロバイダーでは、開くし、プロバイダーやその他のプロバイダーに属しているオブジェクトを比較する、 IMAPISupport::OpenEntryメソッドとIMAPISupport::CompareEntryIDsメソッドを使用できます。Service providers can use the IMAPISupport::OpenEntry and IMAPISupport::CompareEntryIDs methods to open and compare objects that belong to their provider or to other providers:

クライアントのIMAPISession::OpenEntryをのようなプロバイダーは、オブジェクトのエントリ id を知っている、長い間の任意のオブジェクトにアクセスするためのサポート オブジェクトのOpenEntryメソッドを使用できます。Like IMAPISession::OpenEntry for clients, providers can use their support object's OpenEntry method to access any object as long they know the object's entry identifier. サポート メソッドでは、セッション メソッドとは異なり、 _lpEntryID_パラメーターに有効なエントリの識別子を指定することが必要です。Unlike the session method, the support method requires that you specify a valid entry identifier in the lpEntryID parameter. NULL にすることはできません。It cannot be NULL.

トランスポート プロバイダーがIMAPISupport::OpenEntryを使用する方法を示すためには、次のシナリオを検討します。To illustrate how a transport provider might use IMAPISupport::OpenEntry, consider the following scenario. トランスポート プロバイダーは、リッチ テキスト形式で書式設定されたメッセージを受信しましたが、対象の受信者がこの形式を処理できるかどうかがわからないThe transport provider has received a message formatted in Rich Text Format and does not know whether the target recipient can handle this format. メッセージを配信する前にトランスポート プロバイダーは、次の操作を必要があります。Before delivering the message, the transport provider needs to do the following:

  1. 受信者と受信者のエントリの識別子、そのPR_ENTRYID (PidTagEntryId) のプロパティにアクセスするためのメッセージのIMessage::GetRecipientTableメソッドを呼び出します。Call the message's IMessage::GetRecipientTable method to access the recipient table and the recipient's entry identifier, its PR_ENTRYID (PidTagEntryId) property.

  2. 開くには、受信者は、通常、 IMAPISupport::OpenEntryにメッセージのユーザーまたは配布リストに対応するエントリの識別子を渡します。Pass the entry identifier to IMAPISupport::OpenEntry to open the recipient, typically either a messaging user or distribution list. プロバイダーできませんを事前に確認、受信者のオブジェクト タイプであるために、 _lpInterface_パラメーターを NULL に設定する必要があります。The lpInterface parameter should be set to NULL because the provider cannot know ahead of time the object type of the recipient. サポート オブジェクトのOpenEntryメソッドでは、受信者のアドレス帳プロバイダーを確認するのにはIMAPISession::OpenEntryを呼び出します。The support object's OpenEntry method calls IMAPISession::OpenEntry to determine the address book provider responsible for the recipient. セッション オブジェクト、メソッドを呼び出して適切なアドレス帳プロバイダーのOpenEntry受信者を開き、トランスポート プロバイダーへのインターフェイス ポインターを返します。The session object then calls the appropriate address book provider's OpenEntry method to open the recipient and return an interface pointer to the transport provider.

  3. PR_SEND_RICH_INFO (PidTagSendRichInfo) のプロパティを取得するために、受信者のIMAPIProp::GetPropsメソッドを呼び出します。Call the recipient's IMAPIProp::GetProps method to retrieve its PR_SEND_RICH_INFO (PidTagSendRichInfo) property. PR_SEND_RICH_INFOを TRUE に設定すると、受信者が書式設定されたテキストを処理できます。If PR_SEND_RICH_INFO is set to TRUE, the recipient can handle formatted text.

他のプロバイダーから複数のオブジェクトを開いた場合は、2 つのエントリ id が同じオブジェクトを参照するかどうかを確認する必要があります。If you have opened several objects from other providers, you may need to find out whether two entry identifiers refer to the same object. などの短期的なエントリ id がある場合があり、長期のエントリ id とこれらの識別子は、同じオブジェクトを識別しない場合があります。For example, you may have a short-term entry identifier and a long-term entry identifier and these identifiers may or may not identify the same object. 冗長な処理を避けるためには、これらのエントリ id を比較するIMAPISupport::CompareEntryIDsメソッドを呼び出します。To avoid redundant processing, call the IMAPISupport::CompareEntryIDs method to compare these entry identifiers. エントリ id を直接比較できないためには、エントリの識別子の比較のためこのメソッドを使用する必要があります。You must use this method for entry identifier comparison because entry identifiers cannot be compared directly.

関連項目See also

MAPI サービス プロバイダーMAPI Service Providers