IMAPISession::OpenAddressBook
適用対象: Outlook 2013 | Outlook 2016
MAPI 統合アドレス帳を開き、さらにアクセスするために IAddrBook ポインターを返します。
HRESULT OpenAddressBook(
ULONG_PTR ulUIParam,
LPCIID lpInterface,
ULONG ulFlags,
LPADRBOOK FAR * lppAdrBook
);
パラメーター
ulUIParam
[in]共通アドレス ダイアログ ボックスおよび他の関連する表示の親ウィンドウへのハンドル。
lpInterface
[in]アドレス帳へのアクセスに使用するインターフェイスを表すインターフェイス識別子 (IID) へのポインター。 null を渡すと、アドレス帳の標準インターフェイス IAddrBook : IMAPIProp へのポインターが返されます。
ulFlags
[in]アドレス帳の開き方を制御するフラグのビットマスク。 次のフラグを設定できます。
AB_NO_DIALOG
ダイアログ ボックスの表示を抑制します。 AB_NO_DIALOG フラグが設定されていない場合、統合アドレス帳に投稿するアドレス帳プロバイダーは、ユーザーに必要な情報を求めることができます。
lppAdrBook
[out]アドレス帳へのポインター。
戻り値
S_OK
アドレス帳が正常に開かれました。
MAPI_W_ERRORS_RETURNED
呼び出しは成功しましたが、1 つ以上のアドレス帳プロバイダーのコンテナーを開くことができませんでした。 この警告が返されたら、呼び出しは成功として処理する必要があります。 この警告をテストするには、 HR_FAILED マクロを使用します。 詳細については、「 エラー処理にマクロを使用する」を参照してください。
注釈
IMAPISession::OpenAddressBook メソッドは、MAPI 統合アドレス帳を開きます。これは、プロファイル内のすべてのアドレス帳プロバイダーの最上位コンテナーのコレクションです。 lppAdrBook パラメーターで返されるポインターは、アドレス帳の内容にさらにアクセスできます。 これにより、呼び出し元は、個々のコンテナーを開く、メッセージング ユーザーを検索する、共通のアドレス ダイアログ ボックスを表示するなどのタスクを実行できます。
呼び出し側への注意
OpenAddressBook は、プロファイル内の 1 つ以上のアドレス帳プロバイダーを読み込むことができない場合、MAPI_W_ERRORS_RETURNEDを返します。 この値は警告であり、エラー値ではありません。S_OKと同様に処理します。 OpenAddressBook は、読み込みに失敗したアドレス帳プロバイダーの数に関係なく、 常に lppAdrBook パラメーターで有効なポインターを返します。 そのため、ログオフする前に、アドレス帳の IUnknown::Release メソッドを常に呼び出す必要があります。
OpenAddressBook がMAPI_W_ERRORS_RETURNEDを返す場合は、IMAPISession::GetLastError を呼び出して、失敗したプロバイダーに関する情報を含む MAPIERROR 構造体を取得します。 すべてのプロバイダーによって提供される情報を含む 1 つの MAPIERROR 構造体が返されます。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MAPIObjects.cpp |
CMapiObjects::GetAddrBook |
MFCMAPI では、 IMAPISession::OpenAddressBook メソッドを使用して、統合アドレス帳を取得します。 |