IMSLogon::OpenEntry
適用対象: Outlook 2013 | Outlook 2016
フォルダーまたはメッセージ オブジェクトを開き、オブジェクトへのポインターを返して、さらにアクセスを提供します。
HRESULT OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulOpenFlags,
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk
);
パラメーター
cbEntryID
[in] lpEntryID パラメーターによって指されるエントリ識別子のサイズ (バイト単位)。
lpEntryID
[in]開くフォルダーまたはメッセージ オブジェクトのエントリ識別子のアドレスへのポインター。
lpInterface
[in]オブジェクトのインターフェイス識別子 (IID) へのポインター。 NULL を渡すと、オブジェクトがそのようなオブジェクトの標準インターフェイスにキャストされることを示します。 lpInterface パラメーターは、オブジェクトの適切なインターフェイスの識別子に設定することもできます。
ulOpenFlags
[in]オブジェクトの開き方を制御するフラグのビットマスク。 次のフラグを設定できます。
MAPI_BEST_ACCESS
オブジェクトは、ユーザーに許可されている最大アクセス許可とクライアント アプリケーションの最大アクセス許可で開く必要があります。 たとえば、クライアントに読み取り/書き込みアクセス許可がある場合、オブジェクトは読み取り/書き込みアクセス許可で開かれます。クライアントに読み取り専用アクセス許可がある場合、オブジェクトは読み取り専用アクセス許可で開かれます。 クライアントは、 PR_ACCESS_LEVEL (PidTagAccessLevel) プロパティを取得することで、アクセス許可レベルを取得できます。
MAPI_DEFERRED_ERRORS
基になるオブジェクトが呼び出し元のアプリケーションで使用できない場合でも、呼び出しは成功できます。 オブジェクトが使用できない場合は、オブジェクトの後続の呼び出しでエラーが返される可能性があります。
MAPI_MODIFY
読み取り/書き込みアクセス許可を要求します。 既定では、オブジェクトは読み取り専用アクセス許可で作成され、クライアントは読み取り/書き込みアクセス許可が付与されている前提で動作しません。
lpulObjType
[out]開いているオブジェクトの型へのポインター。
lppUnk
[out]開いているオブジェクトへのポインターへのポインター。
戻り値
S_OK
�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B
注釈
MAPI は IMSLogon::OpenEntry メソッドを呼び出して、メッセージ ストア内のフォルダーまたはメッセージを開きます。 MAPI は、開くオブジェクトのエントリ識別子を渡します。 メッセージ ストア プロバイダーは、 lppUnk パラメーターで指定されたオブジェクトにさらにアクセスできるようにするポインターを返す必要があります。
MAPI は 、IMSLogon::OpenEntry を呼び出す前に、最初に、指定されたメッセージまたはフォルダーエントリ識別子がこのメッセージ ストア プロバイダーによって登録されたものと一致すると判断します。 ストア プロバイダーがエントリ識別子を登録する方法の詳細については、「 IMAPISupport::SetProviderUID」を参照してください。
IMSLogon::OpenEntry は、メッセージ ストア オブジェクトの IMsgStore::OpenEntry メソッドと同じですが、クライアントが IMSLogon::OpenEntry を呼び出さないことを除きます。MAPI は、IMAPISession::OpenEntry メソッドを処理するときに IMSLogon::OpenEntry を呼び出します。 IMSLogon::OpenEntry を使用して開かれたオブジェクトは、メッセージ ストア オブジェクトを使用して開いたオブジェクトとまったく同じように扱う必要があります。特に、この呼び出しを使用して開かれたオブジェクトは、メッセージ ストア オブジェクトが解放されるときに無効にする必要があります。