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 メソッドを使用して、統合アドレス帳を取得します。

関連項目

IAddrBook : IMAPIProp

IMAPISession::GetLastError

MAPIERROR

IMAPISession: IUnknown

[�R��h �T���v���Ƃ��� MFCMAPI