������ Exchange �A�J�E���g��g�p���܂��B

適用対象: Outlook 2013 | Outlook 2016

Microsoft Outlook 2010とMicrosoft Outlook 2013は、複数の Exchange メール アカウントとの統合をサポートします。 Outlook 2010 または Outlook 2013 では、ユーザーは 2 つの Exchange アカウントを同じプロファイルに追加し、発行されたグローバル アドレス一覧 (GAL)、Exchange Out-of-Office 構成、フォルダー共有などの豊富な Exchange 機能を引き続き利用できます。

Microsoft Office Outlook 2007 以前の MAPI プロファイル セクションに精通しているユーザーは、電子メール ユーザー名やサーバー名などの Exchange 設定が固定の Exchange グローバル プロファイル セクション pbGlobalProfileSectionGuid に格納されていることを知っています。 Outlook 2010 と Outlook 2013 では、各 Exchange アカウントに設定を保存するための独自のプロファイル セクションが必要であり、 pbGlobalProfileSectionGuid は 廃止されました。

Outlook 2010 and Outlook 2013 Exchange settings are still stored in the profile, but a unique identifier for the profile section that contains their settings is dynamically allocated per profile. The location of the Exchange settings in the profile is stored in the PidTagExchangeProfileSectionId Canonical Property, which can be found in the message service profile section of the Exchange account. This property can also be found in the profile section for each provider in this message service of the account. The unique identifier is not stored on the server and will be different across profiles.

Outlook 2010 and Outlook 2013 use the PidTagExchangeProfileSectionId as a unique identifier to specify an Exchange account. When used in this manner, this unique identifier is known as the emsmdbUID. For some MAPI and Outlook operations, an emsmdbUID might be required to specify which Exchange account should be used for the operation.

In order to support multiple Exchange accounts, you must use some calls to new functions in your code. Replace any call that uses an entryID and either IAddrBook::OpenEntry or IAddrBook::CompareEntryIDs on IMailUser : IMAPIProp and IDistList : IMAPIContainer with one of the following functions.


Any MAPI clients written before the creation of this new emsmdbUID section are still supported. These clients will continue to retrieve the previous global section, pbGlobalProfileSectionGuid. Queries for this profile section will be redirected to one designated Exchange account that handles legacy inquiries. The account that handles the legacy calls can be determined by looking at the message service table and adding a column for PR_EMSMDB_LEGACY. Only one message service will have this set to true, and its PidTagExchangeProfileSectionId is called the legacy emsmdbUID.


Configurable MAPI settings such as the default store and the default account have no effect on which account handles legacy calls. The account that handles the legacy calls cannot be configured.

The emsmdbUID of the legacy account is copied to the Outlook Global Profile Section. If this property does not exist, querying for the message services table will determine what account is the legacy handler and set the value in the Outlook Global Profile Section.

To be clear, the Outlook Global Profile Section differs from the Exchange Global Profile Section, and in Outlook 2010 and Outlook 2013 the Exchange Global Profile Section is no longer really global because you can have multiple Exchange accounts. The Outlook Global Profile section contains properties about Outlook, such as the state of the folder MRU or the state of the global connection.


������ Exchange �A�J�E���g�Ő������A�h���X��������ɂ́A�A�h���X���ɒʘb�������� Exchange �A�J�E���g������ł���悤�ɁA�A�J�E���g�̃R���e�L�X�g���V�����@�\��g�p���܂��B

Some previous address book APIs were deprecated because the APIs were not fully multiple Exchange capable. This account context is usually an emsmdbUID.

������ Exchange �A�J�E���g�ɂ́A emsmdbUID�ł́A�ɉ����āA emsabpUID�������܂��B

  1. emsmdbUID�l�́A�A�J�E���g�̃R���e�L�X�g������܂��B

  2. emsabpUID�l�́AExchange �A�h���X��������܂��B

The emsabpUID value is typically used when resolving a recipient. When resolving a recipient using IAddrBook::ResolveName, an Exchange recipient row contains the PR_AB_PROVIDERS (0x3D010102) property, which contains the emsabpUID value. This emsabpUID value identifies the Exchange address book provider for the specific recipient.

����� emsmdbUID emsabpUID�l��w�肷��ꍇ�́A emsmdbUID�̃v���t�@�C���̃Z�N�V������J���A PR_EMSABP_USER_UID (0x0x3D1A0102) �̃v���p�e�B��擾���܂��B

If you are calling IAddrBook::PrepareRecips, make sure that the Exchange recipients in the list that you pass in contain the PR_AB_PROVIDERS property that has the emsabpUID that corresponds to the address book provider that the recipient belongs to. Calling IAddrBook::PrepareRecips on a row that you obtained from IAddrBook::ResolveName requires no additional action, but some code will call IAddrBook::PrepareRecips on rows that contain only the PR_ENTRYID property. Rows in this and similar situations should contain both PR_ENTRYID and PR_AB_PROVIDERS with the PR_AB_PROVIDERS property set to the correct emsabpUID.

������ Exchange �A�J�E���g�������邽�߂̃v���Z�X�̊ȒP�Ȑ���́A���̂Ƃ���ł��B

  • Given the service unique identifier, your code looks in the table of the message store of the PR_SERVICE_UID property that matches the one that you have. From there, you can determine the correct PR_MDB_PROVIDER. This row contains the appropriate store.

  • �R�[�h�� emsmdbUID��w�肷��ƁA emsmdbUID�Ɉ�v���� PidTagExchangeProfileSectionId����J����s�̃��b�Z�[�W �T�[�r�X �e�[�u�����\������܂��B












PidTagExchangeProfileSectionId ���K���̃v���p�e�B

[�O���[�o�� �v���t�@�C��] �Z�N�V������J�����@