IMSProvider::SpoolerLogon
適用対象: Outlook 2013 | Outlook 2016
MAPI スプーラーをメッセージ ストアにログに記録します。
HRESULT SpoolerLogon(
LPMAPISUP lpMAPISup,
ULONG_PTR ulUIParam,
LPSTR lpszProfileName,
ULONG cbEntryID,
LPENTRYID lpEntryID,
ULONG ulFlags,
LPCIID lpInterface,
ULONG cbSpoolSecurity,
LPBYTE lpbSpoolSecurity,
LPMAPIERROR FAR * lppMAPIError,
LPMSLOGON FAR * lppMSLogon,
LPMDB FAR * lppMDB
);
パラメーター
lpMAPISup
[in]メッセージ ストアの MAPI サポート オブジェクトへのポインター。
ulUIParam
[in]このメソッドが表示するダイアログ ボックスまたはウィンドウの親ウィンドウへのハンドル。
lpszProfileName
[in]MAPI スプーラー ログオンに使用されているプロファイルの名前を含む文字列へのポインター。 この文字列は、ダイアログ ボックスに表示したり、ログ ファイルに書き込んだり、単に無視したりできます。 ulFlags パラメーターに MAPI_UNICODE フラグが設定されている場合は、Unicode 形式にする必要があります。
cbEntryID
[in] lpEntryID パラメーターによって指されるエントリ識別子のサイズ (バイト単位)。
lpEntryID
[in]メッセージ ストアのエントリ識別子へのポインター。 lpEntryID パラメーターに NULL を渡すと、メッセージ ストアがまだ選択されておらず、ユーザーがメッセージ ストアを選択できるようにするダイアログ ボックスを表示できることを示します。
ulFlags
[in]ログオンの実行方法を制御するフラグのビットマスク。 次のフラグを設定できます。
MAPI_DEFERRED_ERRORS
基になるオブジェクトが呼び出し元の実装で使用できない場合でも、呼び出しは成功できます。 オブジェクトが使用できない場合は、オブジェクトの後続の呼び出しでエラーが発生する可能性があります。
MAPI_UNICODE
渡された文字列は Unicode 形式です。 MAPI_UNICODEが設定されていない場合、文字列は ANSI 形式です。
MDB_NO_DIALOG
ログオン ダイアログ ボックスが表示されないようにします。 このフラグが設定されている場合、ログオンが失敗した場合MAPI_E_LOGON_FAILEDエラー値が返されます。 このフラグが設定されていない場合、メッセージ ストア プロバイダーは、名前またはパスワードの修正、ディスクの挿入、またはストアへの接続を確立するために必要なその他のアクションの実行をユーザーに求めることができます。
MDB_WRITE
読み取り/書き込みアクセス許可を要求します。
lpInterface
[in]ログオンするメッセージ ストアのインターフェイス識別子 (IID) へのポインター。 NULL を渡すと、メッセージ ストア (IMsgStore) の MAPI インターフェイスが返されます。 lpInterface パラメーターは、メッセージ ストアの適切なインターフェイスの識別子 (IID_IUnknownやIID_IMAPIPropなど) に設定することもできます。
cbSpoolSecurity
[in] lppbSpoolSecurity パラメーターの検証データのサイズ (バイト単位) へのポインター。
lpbSpoolSecurity
[in]検証データへのポインター。 SpoolerLogon メソッドは、このデータを使用して、IMSProvider::Logon メソッドを使用して、以前にログオンしたメッセージ ストア プロバイダーと同じストアに MAPI スプーラーをログに記録します。
lppMAPIError
[out]エラーのバージョン、コンポーネント、コンテキスト情報を含む、返された MAPIERROR 構造体へのポインター (存在する場合)。 返す MAPIERROR 構造体がない場合は、lppMAPIError パラメーターを NULL に設定できます。
lppMSLogon
[out]MAPI がログオンするためのメッセージ ストア ログオン オブジェクトへのポインター。
lppMDB
[out]MAPI スプーラーとクライアント アプリケーションがログオンするメッセージ ストア オブジェクトへのポインターへのポインター。
戻り値
S_OK
�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B
MAPI_E_UNCONFIGURED
プロファイルには、ログオンを完了するための十分な情報が含まれていません。 この値が返されると、MAPI はメッセージ ストア プロバイダーのメッセージ サービス エントリ ポイント関数を呼び出します。
MAPI_W_ERRORS_RETURNED
呼び出しは成功しましたが、メッセージ ストア プロバイダーにエラー情報が表示されます。 この警告が返されたら、呼び出しは成功として処理する必要があります。 この警告をテストするには、 HR_FAILED マクロを使用します。 詳細については、「 エラー処理にマクロを使用する」を参照してください。 プロバイダーからエラー情報を取得するには、 IMAPISession::GetLastError メソッドを呼び出します。
注釈
MAPI スプーラーは 、IMSProvider::SpoolerLogon メソッドを呼び出してメッセージ ストアにログオンします。 MAPI スプーラーは、ログオン中とログオン後に lppMDB パラメーターでメッセージ ストア プロバイダーによって返されるメッセージ ストア オブジェクトを使用する必要があります。
IMSProvider::Logon メソッドとの整合性を確保するために、プロバイダーは lppMSLogon パラメーターにメッセージ ストア ログオン オブジェクトも返します。 ストア オブジェクトとログオン オブジェクトの使用は、通常のストア ログオンと同じです。ログオン オブジェクトとストア オブジェクトの間には、オブジェクトが 2 つのインターフェイスを公開する 1 つのオブジェクトであるかのように動作するように、1 対 1 の対応が必要です。 2 つのオブジェクトは一緒に作成され、一緒に解放されます。
ストア プロバイダーは、MAPI スプーラーによってストアが使用されていることを示すために、返されたメッセージ ストア オブジェクトを内部的にマークする必要があります。 このストア オブジェクトのメソッドの一部は、クライアント アプリケーションに提供されるメッセージ ストア オブジェクトの場合とは動作が異なります。 この内部マークを保持することは、MAPI スプーラーに固有の動作をトリガーする最も一般的な方法です。