IMAPIContainer::OpenEntryIMAPIContainer::OpenEntry

適用されます: OutlookApplies to: Outlook

コンテナーで、さらにアクセスするためのインターフェイス ポインターを返すには、オブジェクトを開きます。Opens an object in the container, returning an interface pointer for further access.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

ParametersParameters

cbEntryIDcbEntryID

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

lpEntryIDlpEntryID

[in]開くにはオブジェクトのエントリの識別子へのポインター。[in] A pointer to the entry identifier of the object to open. _LpEntryID_は、NULL に設定されている場合は、コンテナーの階層の最上位のコンテナーが開かれます。If lpEntryID is set to NULL, the top-level container in the container's hierarchy is opened.

lpInterfacelpInterface

[in]オブジェクトへのアクセスに使用するインターフェイスを表すインターフェイス識別子 (IID) へのポインター。[in] A pointer to the interface identifier (IID) that represents the interface to be used to access the object. パラメーターに NULL が返されるオブジェクトの標準的なインタ フェースの識別子で発生します。Passing NULL results in the identifier for the object's standard interface being returned. 標準的なインタ フェースは、メッセージは、 IMAPIMessageSite: IUnknownです。フォルダーのIMAPIFolder: IMAPIContainerFor messages, the standard interface is IMAPIMessageSite : IUnknown; for folders, it is IMAPIFolder : 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.

ulFlagsulFlags

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

MAPI_BEST_ACCESSMAPI_BEST_ACCESS

ユーザーおよび最大のクライアント アプリケーションへのアクセスに使用される最大ネットワークのアクセス許可を持つオブジェクトが開かれますことを要求します。Requests that the object will 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 access, the object should be opened with read-only access.

MAPI_DEFERRED_ERRORSMAPI_DEFERRED_ERRORS

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

MAPI_MODIFYMAPI_MODIFY

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

SHOW_SOFT_DELETESSHOW_SOFT_DELETES

ソフトとしてマークされているアイテムの削除を示しています-は削除済みアイテムの保存に時間の段階です。Shows items that are currently marked as soft deleted—that is, they are in the deleted item retention time phase.

lpulObjTypelpulObjType

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

lppUnklppUnk

[out]開いているオブジェクトへのアクセスに使用するインターフェイスの実装へのポインターへのポインター。[out] A pointer to a pointer to the interface implementation to use to access the open object.

�߂�lReturn value

S_OKS_OK

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

MAPI_E_NO_ACCESSMAPI_E_NO_ACCESS

ユーザーがオブジェクトを開くに十分なアクセス許可を持っているか、読み取り/書き込みアクセス許可を持つ読み取り専用オブジェクトを開くしようとしました。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.

MAPI_E_NOT_FOUNDMAPI_E_NOT_FOUND

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

MAPI_E_UNKNOWN_ENTRYIDMAPI_E_UNKNOWN_ENTRYID

_LpEntryID_パラメーターのエントリの識別子は、コンテナーによって認識される形式のではありません。The entry identifier in the lpEntryID parameter is not of a format recognized by the container.

備考Remarks

IMAPIContainer::OpenEntryメソッドは、コンテナー全体にわたってオブジェクトを開き、さらにアクセスに使用するインターフェイスの実装にポインターを返します。The IMAPIContainer::OpenEntry method opens an object throughout a container and returns a pointer to an interface implementation to use for further access.

呼び出し側への注意Notes to callers

サービス プロバイダーが、 _lpInterface_パラメーターにインターフェイス識別子で指定された型のインターフェイスの実装を取得する必要がないために、 _lpulObjType_パラメーターで指定された値を確認します。Because service providers are not required to return an interface implementation of the type specified by the interface identifier in the lpInterface parameter, check the value pointed to by the lpulObjType parameter. 必要に応じて、適切な型のポインターに_lppUnk_で返されたポインターにキャストします。If necessary, cast the pointer returned in lppUnk to a pointer of the appropriate type.

既定では、サービス ・ プロバイダーは MAPI_MODIFY または MAPI_BEST_ACCESS のいずれかのフラグを設定する場合を除き、読み取り専用アクセス権を持つオブジェクトを開きます。By default, service providers open objects with read-only access unless you set either the MAPI_MODIFY or MAPI_BEST_ACCESS flag. これらのフラグのいずれかを設定すると、サービス ・ プロバイダーは変更可能なオブジェクトを取得しようとします。When one of these flags is set, service providers attempt to return a modifiable object. ただし、限りませんを変更可能なオブジェクトが開かれているオブジェクトが読み取り/書き込みアクセス許可を要求しました。However, do not assume that because you requested a modifiable object that the opened object has read/write permission. どちらかOpenEntryによって付与されたアクセス レベルを決定するのにはエラーが発生したり、オブジェクトのPR_ACCESS_LEVELプロパティを取得後に変更されたことを計画します。Either plan for the chance of a subsequent modification to fail or retrieve the object's PR_ACCESS_LEVEL property to determine the access level granted by OpenEntry.

関連項目See also

IMAPIContainer: IMAPIPropIMAPIContainer : IMAPIProp