IAddrBook::OpenEntryIAddrBook::OpenEntry

適用対象: Outlook 2013 | Outlook 2016Applies to: Outlook 2013 | Outlook 2016

アドレス帳エントリを開き、エントリへのアクセスに使用できるインターフェイスへのポインターを返します。Opens an address book entry and returns a pointer to an interface that can be used to access the entry.

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

パラメーターParameters

cbEntryIDcbEntryID

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

lて tryidlpEntryID

順番開くアドレス帳のエントリを表すエントリ識別子へのポインター。[in] A pointer to the entry identifier that represents the address book entry to open.

lpinterfacelpInterface

順番開いているエントリへのアクセスに使用するインターフェイスのインターフェイス識別子 (IID) へのポインター。[in] A pointer to the interface identifier (IID) of the interface to be used to access the open entry. NULL を渡すと、オブジェクトの標準インターフェイスが返されます。Passing NULL returns the object's standard interface. メッセージングユーザーの場合、標準インターフェイスはimailuser: imapipropです。For messaging users, the standard interface is IMailUser : IMAPIProp. 配布リストの場合、 idistlist: IMAPIContainerおよびコンテナーの場合は、 IABContainer: IMAPIContainerになります。For distribution lists, it is IDistList : IMAPIContainer and for containers, it is IABContainer : IMAPIContainer. 呼び出し元は、 _lpinterface_を適切な標準インターフェイスまたは継承階層内のインターフェイスに設定できます。Callers can set lpInterface to the appropriate standard interface or an interface in the inheritance hierarchy.

ulFlagsulFlags

順番エントリが開かれる方法を制御するフラグのビットマスク。[in] A bitmask of flags that controls how the entry is opened. 次のフラグを設定できます。The following flags can be set.

MAPI_BEST_ACCESSMAPI_BEST_ACCESS

許可された最大ネットワークおよびクライアントアクセス許可でエントリが開かれることを要求します。Requests that the entry be opened with the maximum allowed network and client permissions. たとえば、クライアントが読み取り/書き込みアクセス許可を持っている場合、アドレス帳プロバイダーは読み取り/書き込みアクセス許可でエントリを開こうとする必要があります。For example, if the client has read/write permission, the address book provider should attempt to open the entry with read/write permission. クライアントは、open エントリのimapiprop:: GetPropsメソッドを呼び出して、 PR_ACCESS_LEVEL (PidTagAccessLevel) プロパティを取得することによって付与されたアクセスレベルを取得できます。The client can retrieve the access level that was granted by calling the open entry's IMAPIProp::GetProps method and retrieving the PR_ACCESS_LEVEL (PidTagAccessLevel) property.

MAPI_CACHE_ONLYMAPI_CACHE_ONLY

アドレス帳エントリを開き、キャッシュからのみアクセスします。Opens an address book entry and accesses it only from the cache. たとえば、このフラグを使用して、クライアントアプリケーションが exchange キャッシュモードでグローバルアドレス一覧 (GAL) を開き、クライアントとサーバーの間のトラフィックを作成せずに、キャッシュからそのアドレス帳のエントリにアクセスできるようにすることができます。For example, you can use this flag to allow a client application to open the global address list (GAL) in cached exchange mode and access an entry in that address book from the cache without creating traffic between the client and the server. このフラグは、Exchange アドレス帳プロバイダーによってのみサポートされています。This flag is supported only by the Exchange address book provider.

MAPI_DEFERRED_ERRORSMAPI_DEFERRED_ERRORS

呼び出しが正常に終了し、エントリが完全に開かれて使用可能になる前に、エントリを後で呼び出すとエラーが返される可能性があることを示すことができます。Allows the call to succeed, potentially before the entry is fully open and available, implying that later calls to the entry might return an error.

MAPI_GAL_ONLYMAPI_GAL_ONLY

名前解決を実行するには、GAL のみを使用します。Use only the GAL to perform name resolution. このフラグは、Exchange アドレス帳プロバイダーによってのみサポートされています。This flag is supported only by the Exchange Address Book Provider.

注意

ulflags MAPI_GAL_ONLY は、現在のダウンロード可能なヘッダーファイルでは定義されていない場合があります。その場合は、次の値を使用してコードに追加できます。 >#define MAPI_GAL_ONLY (0x00000080)The ulFlags MAPI_GAL_ONLY might not be defined in the downloadable header file you currently have, in which case you can add it to your code using the following value: > #define MAPI_GAL_ONLY (0x00000080)

MAPI_MODIFYMAPI_MODIFY

読み取り/書き込みアクセス許可を使用してエントリが開かれるように要求します。Requests that the entry be opened with read/write permission. 既定では、エントリは読み取り専用アクセスで開かれるので、MAPI_MODIFY が設定されているかどうかに関係なく、クライアントは読み取り/書き込みアクセス許可が付与されたことを想定してはなりません。Because entries are opened with read-only access by default, clients should not assume that read/write permission was granted regardless of whether MAPI_MODIFY is set.

MAPI_NO_CACHEMAPI_NO_CACHE

オフラインアドレス帳を使用して名前解決を実行しないでください。Do not use the offline address book to perform name resolution. このフラグは、Exchange アドレス帳プロバイダーによってのみサポートされています。This flag is supported only by the Exchange Address Book Provider.

lpulobjtypelpulObjType

読み上げ開かれた項目の種類へのポインター。[out] A pointer to the type of the opened entry.

lppunklppUnk

読み上げ開かれたエントリへのポインターへのポインター。[out] A pointer to a pointer to the opened entry.

戻り値Return value

S_OKS_OK

エントリが正常に開かれました。The entry was successfully opened.

MAPI_E_NO_ACCESSMAPI_E_NO_ACCESS

ユーザーが十分なアクセス許可を持っていないエントリを開こうとしました。An attempt was made to open an entry for which the user has insufficient permissions.

MAPI_E_NOT_FOUNDMAPI_E_NOT_FOUND

_lな tryid_で表されるエントリは存在しません。The entry represented by lpEntryID does not exist.

MAPI_E_UNKNOWN_ENTRYIDMAPI_E_UNKNOWN_ENTRYID

_lな tryid_で指定されているエントリ識別子が認識されません。The entry identifier specified in lpEntryID is not recognized. この値は、対応するエントリを担当するアドレス帳プロバイダーが開かれていない場合に、通常返されます。This value is typically returned if the address book provider responsible for the corresponding entry is not open.

注釈Remarks

クライアントおよびサービスプロバイダーは、アドレス帳のエントリを開くためにIAddrBook:: openentryメソッドを呼び出します。Clients and service providers call the IAddrBook::OpenEntry method to open an address book entry. MAPI は、 _lMAPIUID tryid_パラメーターで渡されたエントリ識別子に含まれている構造に基づいて、適切なアドレス帳プロバイダーに呼び出しを転送します。MAPI forwards the call to the appropriate address book provider, based on the MAPIUID structure included in the entry identifier passed in the lpEntryID parameter. MAPI_MODIFY または MAPI_BEST_ACCESS フラグが設定されている場合を除いて、アドレス帳プロバイダー __ はエントリを読み取り専用として開きます。The address book provider opens the entry as read-only unless the MAPI_MODIFY or MAPI_BEST_ACCESS flag in the ulFlags parameter is set. ただし、これらのフラグは推奨事項です。However, these flags are suggestions. アドレス帳プロバイダーで、要求されたエントリの変更が許可されていない場合は、MAPI_E_NO_ACCESS が返されます。If the address book provider does not allow modification for the entry requested, it returns MAPI_E_NO_ACCESS.

_lpinterface_パラメーターは、開いているエントリへのアクセスに使用するインターフェイスを示します。The lpInterface parameter indicates which interface should be used to access the opened entry. _lpinterface_で NULL を渡すことは、そのエントリの種類に対して標準の MAPI インターフェイスが使用されることを示します。Passing NULL in lpInterface indicates the standard MAPI interface for that type of entry should be used. アドレス帳プロバイダーは_lpinterface_パラメーターで提案されたインターフェイスとは異なるインターフェイスを返す可能性があるため、発信者は_lpulobjtype_パラメーターで返された値を確認して、返されるオブジェクトの種類がどうかを判断する必要があります。予想される動作Because the address book provider might return a different interface than the one suggested by the lpInterface parameter, the caller should check the value returned in the lpulObjType parameter to determine whether the object type returned is what was expected. オブジェクトの種類が想定された型ではない場合、呼び出し元は、 _lppunk_パラメーターをより適切な型にキャストできます。If the object type is not of the type expected, the caller can cast the lppUnk parameter to a type that is more appropriate.

関連項目See also