IAddrBook::ResolveNameIAddrBook::ResolveName

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

名前解決を実行し、受信者リスト内の受信者にエントリ識別子を割り当てます。Performs name resolution, assigning entry identifiers to recipients in a recipient list.

HRESULT ResolveName(
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  LPSTR lpszNewEntryTitle,
  LPADRLIST lpAdrList
);

パラメーターParameters

uluiparamulUIParam

順番ダイアログボックスの親ウィンドウへのハンドル。指定されている場合は、あいまいな解決をユーザーに求めるメッセージを表示します。[in] A handle to the parent window of a dialog box that is shown, if specified, to prompt the user to resolve ambiguity.

ulFlagsulFlags

順番解決プロセスのさまざまな側面を制御するフラグのビットマスク。[in] A bitmask of flags that control various aspects of the resolution process. 次のフラグを設定できます。The following flags can be set:

AB_UNICODEUIAB_UNICODEUI

_lpsznewentrytitle_が UNICODE 文字列であることを示します。Indicates that lpszNewEntryTitle is a UNICODE string.

MAPI_CACHE_ONLYMAPI_CACHE_ONLY

名前解決を実行するには、オフラインアドレス帳のみを使用します。Use only the offline address book to perform name resolution. たとえば、このフラグを使用して、クライアントアプリケーションが 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_DIALOGMAPI_DIALOG

追加の名前解決情報をユーザーに確認するダイアログボックスが表示されます。Displays a dialog box to prompt the user for additional name resolution information. このフラグが設定されていない場合は、ダイアログボックスは表示されません。If this flag is not set, no dialog box is displayed.

MAPI_UNICODEMAPI_UNICODE

アドレス一覧で返されるプロパティが、PT_STRING8 ではなく PT_UNICODE 型であることを示します。Indicates that the properties returned in the address list should be of type PT_UNICODE instead of PT_STRING8.

lpsznewentrytitlelpszNewEntryTitle

順番ユーザーに受信者の入力を求めるダイアログボックス内のコントロールのタイトルを示すテキストへのポインター。[in] A pointer to text for the title of the control in the dialog box that prompts the user to enter a recipient. タイトルは、受信者の種類によって異なります。The title varies depending on the type of recipient. _lpsznewentrytitle_パラメーターは NULL にすることができます。The lpszNewEntryTitle parameter can be NULL.

lpadrlistlpAdrList

[入力-出力]解決する受信者名のリストを含むadrlist構造体へのポインター。[in-out] A pointer to an ADRLIST structure that contains the list of recipient names to be resolved. このadrlist構造は、 IAddrBook:: Addressメソッドによって作成できます。This ADRLIST structure can be created by the IAddrBook::Address method.

戻り値Return value

S_OKS_OK

名前解決プロセスが正常に終了しました。The name resolution process succeeded.

MAPI_E_AMBIGUOUS_RECIPMAPI_E_AMBIGUOUS_RECIP

_lpadrlist_パラメーターの少なくとも1つの受信者が、アドレス帳の複数のエントリと一致しました。At least one recipient in the lpAdrList parameter matched more than one entry in the address book. 通常、この値は、MAPI_DIALOG フラグが設定されているときに返され、ダイアログボックスの表示を禁止します。Usually, this value is returned when the MAPI_DIALOG flag is set, prohibiting the display of a dialog box.

MAPI_E_NOT_FOUNDMAPI_E_NOT_FOUND

_lpadrlist_パラメーターの少なくとも1人の受信者を解決できません。At least one recipient in the lpAdrList parameter cannot be resolved. 通常、この値は、MAPI_DIALOG フラグが設定されているときに返され、ダイアログボックスの表示を禁止します。Usually, this value is returned when the MAPI_DIALOG flag is set, prohibiting the display of a dialog box.

注釈Remarks

クライアントおよびサービスプロバイダーは、 ResolveNameメソッドを呼び出して名前解決プロセスを開始します。Clients and service providers call the ResolveName method to initiate the name resolution process. 未解決のエントリとは、エントリ id またはPR_ENTRYID (PidTagEntryId) プロパティをまだ持っていないエントリのことです。An unresolved entry is an entry that does not yet have an entry identifier or PR_ENTRYID (PidTagEntryId) property.

_lpadrlist_パラメーターに渡されたアドレス一覧の未解決の各エントリに対して、 ResolveNameは次のプロセスを実行します。ResolveName goes through the following process for each unresolved entry in the address list passed in the lpAdrList parameter.

  1. 受信者のアドレスの種類が SMTP アドレス ( displayname@ ドメイン) の形式に準拠している場合、 ResolveNameは1回限りのエントリ識別子を割り当てます。If the address type of the recipient adheres to the format of an SMTP address ( displayname@ domain.top-level-domain), ResolveName assigns it a one-off entry identifier.

  2. PR_AB_SEARCH_PATH (PidTagAbSearchPath) プロパティの各コンテナーに対して、 ResolveNameIABContainer:: ResolveNamesメソッドを呼び出します。For each container in the PR_AB_SEARCH_PATH (PidTagAbSearchPath) property, ResolveName calls the IABContainer::ResolveNames method. ResolveNamesは、各受信者の表示名を、そのエントリのいずれかに属する表示名に一致させようとします。ResolveNames tries to match the display name of each unresolved recipient with a display name that belongs to one of its entries.

  3. コンテナーがResolveNamesをサポートしていない場合、 ResolveNameは、 PR_ANR (PidTagAnr) プロパティ制限を使用してコンテナーの contents テーブルを制限します。If a container does not support ResolveNames, ResolveName restricts the container's contents table by using a PR_ANR (PidTagAnr) property restriction. この制限によって、コンテナーは一致する受信者を検索するために "最適な推測" の種類の検索を実行します。This restriction causes the container to perform a "best guess" type of search to locate a matching recipient. すべてのコンテナーは、 PR_ANRプロパティ制限をサポートする必要があります。All containers must support the PR_ANR property restriction.

  4. コンテナーが複数の名前に一致する受信者を返すと、MAPI_DIALOG フラグが設定されている場合、 ResolveNameはダイアログボックスを表示し、ユーザーが正しい名前を選択できるようにします。When a container returns a recipient that matches multiple names, ResolveName displays a dialog box if the MAPI_DIALOG flag is set, which lets the user select the correct name.

  5. PR_AB_SEARCH_PATHプロパティのすべてのコンテナーが呼び出され、一致が見つからない場合は、受信者は未解決のままになります。If all of the containers in the PR_AB_SEARCH_PATH property have been called and no match has been found, the recipient remains unresolved.

1つまたは複数の受信者が未解決の場合、 ResolveNameは MAPI_E_NOT_FOUND を返します。If one or more recipients are unresolved, ResolveName returns MAPI_E_NOT_FOUND. 1つまたは複数の受信者があいまいな解決策をダイアログボックスで解決できない場合、または MAPI_DIALOG フラグが設定されていない場合、 ResolveNameは MAPI_E_AMBIGUOUS_RECIP を返します。If one or more recipients had ambiguous resolution that could not be resolved with a dialog box, or because the MAPI_DIALOG flag was not set, ResolveName returns MAPI_E_AMBIGUOUS_RECIP. 一部の受信者があいまいで解決できない場合、 ResolveNameはどちらかのエラー値を返すことができます。When some of the recipients are ambiguous and some cannot be resolved, ResolveName can return either error value.

名前を解決できない場合、クライアントは、特別な形式のアドレスとエントリ識別子を持つ1回限りのアドレスを作成できます。If a name cannot be resolved, the client can create a one-off address that has a specially formatted address and entry identifier. 1回限りのエントリ識別子の形式の詳細については、「 1 回限りのエントリ識別子」を参照してください。For more information about the format of one-off entry identifiers, see One-Off Entry Identifiers. 1回限りのアドレスの形式の詳細については、「一時アドレス」を参照してください。For more information about the format of one-off addresses, see One-Off Addresses.

MAPI では、 adrlistの Unicode 文字列と、 ResolveNameへの新しいエントリタイトルパラメーターがサポートされています。MAPI_UNICODE フラグを設定した場合、 adrentry構造では、次のプロパティが PT_UNICODE 型として返されます。MAPI supports Unicode character strings for the ADRLIST and the new entry title parameters to ResolveName; if you set the MAPI_UNICODE flag, the following properties are returned as type PT_UNICODE in the ADRENTRY structures:

ただし、 PR_7BIT_DISPLAY_NAME (PidTag7BitDisplayName) プロパティは常に PT_STRING8 型として返されます。However, the PR_7BIT_DISPLAY_NAME (PidTag7BitDisplayName) property is always returned as type PT_STRING8.

MFCMAPI リファレンスMFCMAPI reference

MFCMAPI のサンプル コードについては、次の表を参照してください。For MFCMAPI sample code, see the following table.

ファイルFile 関数Function �R�����gComment
MAPIABFunctionsMAPIABFunctions.cpp
addoneoffaddressAddOneOffAddress
mfcmapi は、メッセージに追加する前に、 ResolveNameメソッドを使用して、1回限りのアドレスを解決します。MFCMAPI uses the ResolveName method to resolve a one-off address before adding it to a message.
MAPIABFunctionsMAPIABFunctions.cpp
AddRecipientAddRecipient
mfcmapi は、 ResolveNameメソッドを使用して、アドレス帳のエントリを表示名で検索します。MFCMAPI uses the ResolveName method to look up an address book entry by display name.

関連項目See also

ADRLISTADRLIST

IABContainer::ResolveNamesIABContainer::ResolveNames

IAddrBook::AddressIAddrBook::Address

IAddrBook : IMAPIPropIAddrBook : IMAPIProp

[�R��h �T���v���Ƃ��� MFCMAPIMFCMAPI as a Code Sample