適用されます: OutlookApplies to: Outlook

コンテナー、ユーザー、または配布リストにメッセージを開き、さらにアクセスを提供するインターフェイスの実装にポインターを返します。Opens a container, messaging user, or distribution list, and returns a pointer to an interface implementation to provide further access.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,



[in]_LpEntryID_パラメーターで指定されたエントリの識別子のバイト数です。[in] The byte count in the entry identifier pointed to by the lpEntryID parameter.


[in]メッセージングのユーザー、または配布リストを開き、コンテナーのエントリの識別子へのポインター。[in] A pointer to the entry identifier of the container, messaging user, or distribution list to open.


[in]開いているオブジェクトへのアクセスに使用するインターフェイスを表すインターフェイス識別子 (IID) へのポインター。[in] A pointer to the interface identifier (IID) that represents the interface to be used to access the open object. NULL を渡すことは、オブジェクトの標準的なインタ フェースの識別子を返します。Passing NULL returns the identifier for the object's standard interface. コンテナーでは、標準のインタ フェースはこれにより: IMAPIContainerFor containers, the standard interface is IABContainer : IMAPIContainer. 標準インターフェイスを使用しているアドレス帳オブジェクトIDistList: IMAPIContainerの配布リストとIMailUser: IMAPIPropメッセージング ユーザーのです。The standard interfaces for address book objects are IDistList : IMAPIContainer for a distribution list and IMailUser : IMAPIProp for a messaging user.


[in]オブジェクトを開く方法を制御するフラグのビットマスクです。[in] A bitmask of flags that controls how the object is opened. 次のフラグを設定することができます。The following flags can be set:


ユーザーおよび最大のクライアント アプリケーションへのアクセスに使用される最大ネットワークのアクセス許可を持つオブジェクトを開くことを要求します。Requests that the object be opened with the maximum network permissions allowed for the user and the maximum client application access. たとえば、クライアントに読み取り/書き込み権限がある場合、オブジェクト開く必要があります読み取り/書き込みアクセス許可を持つクライアントに読み取り専用のアクセス許可がある場合は、読み取り専用権限を持つオブジェクトを開く必要があります。For example, if the client has read/write permission, the object should be opened with read/write permission; if the client has read-only permission, the object should be opened with read-only permission.


OpenEntryメソッドが正常に完了、可能性のある呼び出し元のクライアントが完全にオブジェクトを利用する前にすることができます。Allows the OpenEntry method to return successfully, possibly before the calling client has fully accessed the object. オブジェクト アクセスできない場合は、後続のオブジェクトの呼び出しを実行するとエラーが発生します。If the object is not accessed, making a subsequent object call can raise an error.


要求の読み取り/書き込みのアクセス許可Requests read/write permission. 既定では、読み取り専用のアクセス権を持つオブジェクトが開いているし、クライアントの読み取り/書き込み権限が付与されていると仮定する必要があります。By default, objects are opened with read-only access, and clients should not assume that read/write permission has been granted.


[out]開かれたオブジェクトの型へのポインター。[out] A pointer to the type of the opened object.


[out]開かれたオブジェクトへのポインターへのポインター。[out] A pointer to a pointer to the opened object.



オブジェクトが正常に開かれました。The object was successfully opened.


ユーザーには十分なアクセス許可、オブジェクトを開くか、読み取り/書き込みアクセス許可を持つ読み取り専用オブジェクトを開くしようとしました。Either the user has insufficient permissions to open the object, or an attempt was made to open a read-only object with read/write permission.


_LpEntryID_で指定されたエントリの識別子は、オブジェクトを表していません。The entry identifier specified by lpEntryID does not represent an object.


_LpEntryID_パラメーターのエントリ id がアドレス帳プロバイダーで認識される形式ではありません。The entry identifier in the lpEntryID parameter is not of a format recognized by the address book provider.


MAPI では、ユーザー、または配布リストにメッセージを開くには、コンテナーでは、 OpenEntryメソッドを呼び出します。MAPI calls the OpenEntry method to open a container, messaging user, or distribution list.

実装者へのメモNotes to implementers

MAPI のOpenEntryメソッドを呼び出すと、前にして、別のプロバイダーに、 _lpEntryID_パラメーターのエントリの識別子が属していることを決定します。Before MAPI calls your OpenEntry method, it determines that the entry identifier in the lpEntryID parameter belongs to you and not to another provider. MAPI は、メソッドを呼び出して、 IMAPISupport::SetProviderUIDの起動時に登録したMAPIUIDのエントリの識別子では、 MAPIUID構造を照合することによって行われます。MAPI does this by matching the MAPIUID structure in the entry identifier with the MAPIUID that you registered by calling the IMAPISupport::SetProviderUID method at startup.

_UlFlags_パラメーターで、MAPI_MODIFY フラグまたは MAPI_BEST_ACCESS フラグが設定されていない場合は、読み取り専用としてオブジェクトを開きます。Open the object as read-only, unless the MAPI_MODIFY or MAPI_BEST_ACCESS flag is set in the ulFlags parameter. 要求されたオブジェクトの変更を許可しない場合はすべてのオブジェクトを開くされず、MAPI_E_NO_ACCESS を返します。If you do not allow modification for the requested object, do not open the object at all and return MAPI_E_NO_ACCESS.

MAPI では、 _lpEntryID_に NULL が成功した場合は、コンテナー階層のルート コンテナーを開きます。If MAPI passes NULL for lpEntryID, open the root container in your container hierarchy.

別のプロバイダーからコピーしたオブジェクトを開くにが求められているオブジェクトがあります。The object that you are being asked to open might be an object copied from another provider. この例では、 PR_TEMPLATEID (PidTagTemplateid) のプロパティをサポートします。In this case, it will support the PR_TEMPLATEID (PidTagTemplateid) property. オブジェクトはこのプロパティをサポートしている場合は、外部のプロバイダーでは、 _lpTemplateID_パラメーターで 0 _ulTemplateFlags のPR_TEMPLATEIDを渡すことでこの記事のコードにバインドするIMAPISupport::OpenTemplateIDメソッドを呼び出す_パラメーター。If the object does support this property, call the IMAPISupport::OpenTemplateID method to bind to code for this entry in the foreign provider, passing PR_TEMPLATEID in the lpTemplateID parameter and 0 in the ulTemplateFlags parameter. IMAPISupport::OpenTemplateIDは、この情報を外部のプロバイダーのIABLogon::OpenTemplateIDメソッドの呼び出しで外部プロバイダーに渡します。IMAPISupport::OpenTemplateID passes this information to the foreign provider in a call to the foreign provider's IABLogon::OpenTemplateID method. IMAPISupport::OpenTemplateIDでは、エラーが発生した場合は、通常外部プロバイダーが使用できない場合や、プロファイルに含まれていませんので続行しようと読み取り専用で非連結のエントリを処理することによって。If IMAPISupport::OpenTemplateID raises an error, usually because the foreign provider is unavailable or not included in the profile, try to continue by treating the unbound entry as read-only. 外部アドレス帳のエントリを開く方法の詳細については、ホストのアドレス帳プロバイダーとしての機能を参照してください。For more information about opening foreign address book entries, see Acting as a Host Address Book Provider.

関連項目See also

IABLogon: IUnknownIABLogon : IUnknown