MAPI 定数
適用対象: Outlook 2013 | Outlook 2016
このトピックでは、MAPI API で使用する定数の定義、MAPI インターフェイス宣言、クラスとインターフェイス識別子について説明します。
クラスとインターフェイス識別子
他の指定がなければ、Microsoft Windows ソフトウェア開発キット (SDK) の guiddef.h ヘッダー ファイルで定義されている DEFINE_GUID マクロを使用して、グローバル一意識別子 (GUID) のシンボリック名とその値を関連付けます。
添付ファイル セキュリティ変換 API
このセクションでは、添付ファイル セキュリティ API に関する定数の定義とインターフェイス識別子について説明します。
// {b2533636-c3f3-416f-bf04-aefe41abaae2}
DEFINE_GUID(IID_IAttachmentSecurity, 0xb2533636, 0xc3f3, 0x416f, 0xbf, 0x04, 0xae, 0xfe, 0x41, 0xab, 0xaa, 0xe2);
純粋仮想関数 IsAttachmentBlocked を定義するには、Windows SDK の mapidefs.h ヘッダー ファイルで定義されている MAPIMETHOD マクロを使用します。
#define MAPI_IATTACHMENTSECURITY_METHODS(IPURE) MAPIMETHOD(IsAttachmentBlocked) (LPCWSTR pwszFileName, BOOL *pfBlocked) IPURE;
IAttachmentSecurity の仮想メソッド テーブルを定義するには、Windows SDK の mapidefs.h ヘッダー ファイルで定義されている DECLARE_MAPI_INTERFACE_ マクロを使用します。
DECLARE_MAPI_INTERFACE_(IAttachmentSecurity, IUnknown)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IATTACHMENTSECURITY_METHODS(PURE)
};
MAPI-MIME 会話 API
このセクションでは、MAPI-MIME 会話 API に関する定数の定義、クラスとインターフェイス識別子について説明します。
定数 | 定義 |
---|---|
CCSF_SMTP |
0x0002 |
CCSF_NOHEADERS |
0x0004 |
CCSF_USE_TNEF |
0x0010 |
CCSF_INCLUDE_BCC |
0x0020 |
CCSF_8BITHEADERS |
0x0040 |
CCSF_USE_RTF |
0x0080 |
CCSF_PLAIN_TEXT_ONLY |
0x1000 |
CCSF_NO_MSGID |
0x4000 |
CCSF_GLOBAL_MESSAGE |
0x00200000 |
E_INVALIDARG |
Microsoft Windows ソフトウェア開発キット (SDK) の winerror.h ヘッダーファイルで定義されています |
クラス識別子
// {4e3a7680-b77a-11d0-9da5-00c04fd65685}
DEFINE_GUID(CLSID_IConverterSession, 0x4e3a7680, 0xb77a, 0x11d0, 0x9d, 0xa5, 0x0, 0xc0, 0x4f, 0xd6, 0x56, 0x85);
インターフェイス識別子
// {4b401570-b77b-11d0-9da5-00c04fd65685}
DEFINE_GUID(IID_IConverterSession, 0x4b401570, 0xb77b, 0x11d0, 0x9d, 0xa5, 0x0, 0xc0, 0x4f, 0xd6, 0x56, 0x85);
オフライン状態 API
このセクションでは、オフライン状態 API に関する定数の定義、クラスとインターフェイス識別子について説明します。
定数 | 定義 |
---|---|
E_INVALIDARG |
Microsoft Windows ソフトウェア開発キット (SDK) の winerror.h ヘッダーファイルで定義されています |
E_NOINTERFACE |
Windows (SDK) の winerror.h ヘッダー ファイルで定義されています |
MAPIOFFLINE_ADVISE_DEFAULT |
(ULONG) 0 |
MAPIOFFLINE_UNADVISE_DEFAULT |
(ULONG) 0 |
MAPIOFFLINE_ADVISE_TYPE_STATECHANGE |
1 |
MAPIOFFLINE_CAPABILITY_OFFLINE |
0x1 |
MAPIOFFLINE_CAPABILITY_ONLINE |
0x2 |
MAPIOFFLINE_FLAG_BLOCK |
0x00002000 |
MAPIOFFLINE_FLAG_DEFAULT |
0x00000000 |
MAPIOFFLINE_STATE_ALL |
0x003f037f |
オンラインまたはオフライン |
|
MAPIOFFLINE_STATE_OFFLINE_MASK |
0x00000003 |
MAPIOFFLINE_STATE_OFFLINE |
0x00000001 |
MAPIOFFLINE_STATE_ONLINE |
0x00000002 |
クラス識別子
//{fbeffd93-b11f-4094-842b-96dcd31e63d1}
DEFINE_GUID(GUID_GlobalState, 0xfbeffd93, 0xb11f, 0x4094, 0x84, 0x2b, 0x96, 0xdc, 0xd3, 0x1e, 0x63, 0xd1);
インターフェイス識別子
//{000672B5-0000-0000-c000-000000000046}
DEFINE_GUID(IID_IMAPIOffline, 0x000672B5, 0x0000, 0x0000, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46);
//{0317bde5-fc29-44cd-8dcd-36125a3be9ec}
DEFINE_GUID(IID_IMAPIOfflineNotify, 0x0317bde5, 0xfc29, 0x44cd, 0x8d, 0xcd, 0x36, 0x12, 0x5a, 0x3b, 0xe9, 0xec);
//{42175607-ff3e-4790-bc18-66c8643e6424
DEFINE_GUID(IID_IMAPIOfflineMgr, 0x42175607, 0xFF3E, 0x4790, 0xbc, 0x18, 0x66, 0xc8, 0x64, 0x3e, 0x64, 0x24);
Outlook の名前付きプロパティ
このセクションでは、名前付きプロパティとその名前空間に関する定数の定義、および関連する他の定数について説明します。
名前付きプロパティの定義
#define dispidMeetingType0x0026
#define dispidFileUnder0x8005
#define dispidYomiFirstName 0x802C
#define dispidYomiLastName 0x802D
#define dispidYomiCompanyName 0x802E
#define dispidWorkAddressStreet 0x8045
#define dispidWorkAddressCity 0x8046
#define dispidWorkAddressState 0x8047
#define dispidWorkAddressPostalCode 0x8048
#define dispidWorkAddressCountry 0x8049
#define dispidWorkAddressPostOfficeBox 0x804A
#define dispidInstMsg 0x8062
#define dispidEmailDisplayName 0x8080
#define dispidEmailAddrType 0x8082
#define dispidEmailEmailAddress 0x8083
#define dispidEmailOriginalDisplayName 0x8084
#define dispidEmail1OriginalEntryID0x8085
#define dispidEmail2DisplayName 0x8090
#define dispidEmail2AddrType 0x8092
#define dispidEmail2EmailAddress 0x8093
#define dispidEmail2OriginalDisplayName 0x8094
#define dispidEmail2OriginalEntryID0x8095
#define dispidEmail3DisplayName 0x80A0
#define dispidEmail3AddrType 0x80A2
#define dispidEmail3EmailAddress 0x80A3
#define dispidEmail3OriginalDisplayName 0x80A4
#define dispidEmail3OriginalEntryID0x80A5
#define dispidTaskStatus 0x8101
#define dispidTaskStartDate 0x8104
#define dispidTaskDueDate 0x8105
#define dispidTaskActualEffort 0x8110
#define dispidTaskEstimatedEffort 0x8111
#define dispidTaskFRecur 0x8126
#define dispidBusyStatus0x8205
#define dispidLocation 0x8208
#define dispidApptStartWhole 0x820D
#define dispidApptEndWhole 0x820E
#define dispidApptDuration 0x8213
#define dispidRecurring 0x8223
#define dispidTimeZoneStruct0x8233
#define dispidAllAttendeesString 0x8238
#define dispidToAttendeesString 0x823B
#define dispidCCAttendeesString 0x823C
#define dispidConfCheck0x8240
#define dispidApptCounterProposal 0x8257
#define dispidApptTZDefStartDisplay0x825E
#define dispidApptTZDefEndDisplay0x825F
#define dispidApptTZDefRecur0x8260
#define dispidReminderTime0x8502
#define dispidReminderSet 0x8503
#define dispidFormStorage0x850F
#define dispidPageDirStream0x8513
#define dispidSmartNoAttach 0x8514
#define dispidCommonStart 0x8516
#define dispidCommonEnd 0x8517
#define dispidFormPropStream0x851B
#define dispidRequest 0x8530
#define dispidCompanies 0x8539
#define dispidContacts0x853A
#define dispidPropDefStream0x8540
#define dispidScriptStream0x8541
#define dispidCustomFlag0x8542
#define dispidReminderNextTime 0x8560
#define dispidHeaderItem0x8578
#define dispidUseTNEF0x8582
#define dispidToDoTitle0x85A4
#define dispidLogType 0x8700
#define dispidLogStart 0x8706
#define dispidLogDuration 0x8707
#define dispidLogEnd 0x8708
名前空間の定義
次のグローバル一意識別子 (GUID) は、名前付きプロパティの名前空間を表しています。
const GUID PS_INTERNET_HEADERS = {0x00020386, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PS_PUBLIC_STRINGS = {0x00020329, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Appointment= {0x00062002, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Address = {0x00062004, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Common = {0x00062008, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Log = {0x0006200A, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Meeting = {0x6ED8DA90, 0x450B, 0x101B, {0x98, 0xDA, 0x00, 0xAA, 0x00, 0x3F, 0x13, 0x05}};
const GUID PSETID_Task = {0x00062003, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
PSETID の定義については、MAPI ストアのセクションを参照してください。
その他の定数
定数 | 定義 |
---|---|
INSP_ONEOFFFLAGS |
0xD000000 |
INSP_PROPDEFINITION |
0x2000000 |
MNID_ID |
mapidefs.h ヘッダー ファイルで定義されています。 |
MNID_STRING |
mapidefs.h ヘッダー ファイルで定義されています。 |
mtgNone |
0x0 |
mtgRequest |
0x00000001 |
mtgFullUpdate |
0x00010000 |
mtgInfoUpdate |
0x00020000 |
mtgOutofDate |
0x00080000 |
mtgDelegated |
0x00100000 |
レプリケーション API
このセクションでは、レプリケーション API に関する定数の定義、MAPI インターフェイス宣言、クラスとインターフェイス識別子について説明します。
以下は、MAPI サービス プロバイダーを特定する MAPIUID 構造です。
const MAPIUID g_muidProvPrvNST =
{ 0xE9, 0x2F, 0xEB, 0x75, 0x96, 0x50, 0x44, 0x86,
0x83, 0xB8, 0x7D, 0xE5, 0x22, 0xAA, 0x49, 0x48 };
定数 | 定義 |
---|---|
DNH_OK |
0x00010000 |
DNT_OK |
0x00010000 |
HSF_LOCAL |
0x00000008 |
HSF_COPYDESTRUCTIVE |
0x00000010 |
HSF_OK |
0x00010000 |
MDB_OST_LOGON_UNICODE |
((ULONG) 0x00000800) |
MDB_OST_LOGON_ANSI |
((ULONG) 0x00001000) |
SHOW_SOFT_DELETES |
((ULONG) 0x00000002) |
SS_ACTIVE |
0 |
SS_SUSPENDED |
1 |
SYNC_UPLOAD_HIERARCHY |
0x00000001 |
SYNC_DOWNLOAD_HIERARCHY |
0x00000002 |
SYNC_UPLOAD_CONTENTS |
0x00000040 |
SYNC_DOWNLOAD_CONTENTS |
0x00000080 |
SYNC_OUTGOING_MAIL |
0x00000200 |
SYNC_BACKGROUND |
0x00001000 |
SYNC_THESE_FOLDERS |
0x00020000 |
SYNC_HEADERS |
0x02000000 |
UPC_OK |
0x00010000 |
UPD_ASSOC |
0x00000001 |
UPD_MOV |
0x00000002 |
UPD_OK |
0x00010000 |
UPD_MOVED |
0x00020000 |
UPD_UPDATE |
0x00040000 |
UPD_COMMIT |
0x00080000 |
UPF_NEW |
0x00000001 |
UPF_MOD_PARENT |
0x00000002 |
UPF_MOD_PROPS |
0x00000004 |
UPF_DEL |
0x00000008 |
UPF_OK |
0x00010000 |
UPH_OK |
0x00010000 |
UPM_ASSOC |
0x00000001 |
UPM_NEW |
0x00000002 |
UPM_MOV |
0x00000004 |
UPM_MOD_PROPS |
0x00000008 |
UPM_HEADER |
0x00000010 |
UPM_OK |
0x00010000 |
UPM_MOVED |
0x00020000 |
UPM_COMMIT |
0x00040000 |
UPM_DELETE |
0x00080000 |
UPM_SAVE |
0x00100000 |
UPR_ASSOC |
0x00000001 |
UPR_READ |
0x00000002 |
UPR_OK |
0x00010000 |
UPR_COMMIT |
0x00020000 |
UPS_UPLOAD_ONLY |
0x00000001 |
UPS_DNLOAD_ONLY |
0x00000002 |
UPS_ONE_FOLDER |
0x00000004 |
UPS_THESE_FOLDERS |
0x00000080 |
UPS_OK |
0x00010000 |
UPT_OK |
0x00010000 |
UPT_PUBLIC |
0x00000001 |
UPV_ERROR |
0x00010000 |
UPV_DIRTY |
0x00020000 |
UPV_COMMIT |
0x00040000 |
インターフェイス宣言
DECLARE_MAPI_INTERFACE_PTR(IExchangeImportHierarchyChanges,PXIHC);
DECLARE_MAPI_INTERFACE_PTR(IExchangeImportContentsChanges,PXICC);
インターフェイス識別子
//{4FDEEFF0-0319-11CF-B4CF-00AA0DBBB6E6}
DEFINE_GUID (IID_IPSTX, 0x4FDEEFF0, 0x0319, 0x11CF, 0xB4, 0xCF, 0x00, 0xAA, 0x0D, 0xBB, 0xB6, 0xE6)
//{2067A790-2A45-11D1-EB86-00A0C90DCA6D}
DEFINE_GUID (IID_IPSTX2, 0x2067A790, 0x2A45, 0x11D1, 0xEB, 0x86, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0x6D)
//{55f15320-111b-11d2-a999-006008b05aa7}
DEFINE_GUID (IID_IPSTX3, 0x55f15320, 0x111b, 0x11d2, 0xa9, 0x99, 0x00, 0x60, 0x08, 0xb0, 0x5a, 0xa7)
//{aa2e2092-ac08-11d2-a2f9-0060b0ec3d4f}
DEFINE_GUID (IID_IPSTX4, 0xaa2e2092, 0xac08, 0x11d2, 0xa2, 0xf9, 0x00, 0x60, 0xb0, 0xec, 0x3d, 0x4f)
//{55f15322-111b-11d2-a999-006008b05aa7}
DEFINE_GUID (IID_IPSTX5, 0x55f15322, 0x111b, 0x11d2, 0xa9, 0x99, 0x00, 0x60, 0x08, 0xb0, 0x5a, 0xa7)
//{55f15323-111b-11d2-a999-006008b05aa7}
DEFINE_GUID (IID_IPSTX6, 0x55f15323, 0x111b, 0x11d2, 0xa9, 0x99, 0x00, 0x60, 0x08, 0xb0, 0x5a, 0xa7)
//{d2d85db4-840f-49b8-9982-07d2405ec6b7}
DEFINE_GUID (IID_IOSTX, 0xd2d85db4, 0x840f, 0x49b8, 0x99, 0x82, 0x07, 0xd2, 0x40, 0x5e, 0xc6, 0xb7)
開く IMAPIContainer::OpenEntry、IMAPISession::OpenEntry または IMsgStore::OpenEntry で次の 2 つのインターフェイス識別子を使用し、フォルダー オブジェクトおよびメッセージ オブジェクトそれぞれに対するプロバイダー チェックを無視します。
//{57D333A0-F589-4b23-A3F9-85F82FEC153C}
DEFINE_GUID (IID_IMAPIFolderNoProvChk, 0x57D333A0, 0xF589, 0x4b23, 0xA3, 0xF9, 0x85, 0xF8, 0x2F, 0xEC, 0x15, 0x3C)
//{C3505457-7B2E-4c3b-A8D6-6DD949BB97A1}
DEFINE_GUID (IID_IMessageNoProvChk, 0xC3505457, 0x7B2E, 0x4c3b, 0xA8, 0xD6, 0x6D, 0xD9, 0x49, 0xBB, 0x97, 0xA1)
MAPI ストア
このセクションでは、MAPI ストアとインターフェイスする API で使用する、定数の定義およびインターフェイス識別子について説明します。
定数 | 定義 | 説明 |
---|---|---|
fnevIndexing |
((ULONG) 0x00010000) |
ストア プロバイダーは、NOTIFICATION 構造の ulEventType メンバーに fnevIndexing を指定して、オブジェクトがインデックスを作成する準備ができていることをインデクサーに通知できます。 NOTIFICATION 構造の info メンバーには、EXTENDED_NOTIFICATION 構造が含まれます。 |
FS_NONE |
0x00 |
クライアントは IFolderSupport::GetSupportMask を呼び出すことができ、返されたビットマスクを確認できます。 FS_NONE は、フォルダーが共有をサポートしていないことを示します。 |
FS_SUPPORTS_SHARING |
0x01 |
クライアントは IFolderSupport::GetSupportMask を呼び出すことができ、返されたビットマスクを確認できます。 FS_SUPPORTS_SHARING は、フォルダーが共有をサポートしていることを示します。 |
INDEXING_SEARCH_OWNER |
((ULONG) 0x00000001) |
オブジェクトがインデックス作成の準備ができていることをインデクサーに通知するプロセスを識別します。 |
MNID_ID |
Microsoft Windows ソフトウェア開発キット (SDK) の mapidefs.h ヘッダーファイルで定義されています |
MAPINAMEID 構造の ulKind フィールドの値です。 |
MNID_STRING |
Microsoft Windows ソフトウェア開発キット (SDK) の mapidefs.h ヘッダーファイルで定義されています。 | MAPINAMEID 構造の ulKind フィールドの値です。 |
MSCAP_RES_ANNOTATION |
((ULONG) 0x00000001) |
クライアントが mscapSelector for IMSCapabilities::GetCapabilities でMSCAP_SEL_RESTRICTIONを指定した場合、ストアが制限で無効なパラメーターを無視した場合、GetCapabilities はこの値を返すことができます。 |
MSCAP_SECURE_FOLDER_HOMEPAGES |
((ULONG) 0x00000001) |
クライアントが mscapSelector で IMSCapabilities::GetCapabilities のMSCAP_SEL_FOLDERを指定した場合、ストアがフォルダー ホーム ページをサポートする既定以外のストアである場合、GetCapabilities はこの値を返すことができます。 |
STORE_PUSHER_OK |
((ULONG) 0x00800000) |
クライアントは PR_SUPPORT_MASK プロパティを取得して、メッセージ ストアの特性を決定できます。 ストア プロバイダーによって STORE_PUSHER_OK フラグがビットマスクに設定されると、MAPI プロトコル ハンドラーがストアをクロールしなくなります。この場合は、ストアが、すべての変更を通知によってインデクサーにプッシュし、メッセージのインデックスを作成することになります。 |
名前空間の定義
次のグローバル一意識別子 (GUID) は、名前付きプロパティの名前空間を表しています。 MAPI プロトコル ハンドラー (PH) によってインデックスが作成され、読み取り専用として文書化されます。
注意
名前付きプロパティは、アイテムの作成や変更に使用しないでください。
const GUID PS_INTERNET_HEADERS = {0x00020386, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PS_PUBLIC_STRINGS = {0x00020329, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Address = {0x00062004, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Appointment = {0x00062002, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Common = {0x00062008, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Log = {0x0006200A, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
const GUID PSETID_Meeting = {0x6ED8DA90, 0x450B, 0x101B, {0x98, 0xDA, 0x00, 0xAA, 0x00, 0x3F, 0x13, 0x05}};
const GUID PSETID_Task = {0x00062003, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
MNID_ID プロパティ
// In PSETID_Address
#define dispidWorkAddressStreet 0x8045
#define dispidWorkAddressCity 0x8046
#define dispidWorkAddressState 0x8047
#define dispidWorkAddressPostalCode 0x8048
#define dispidWorkAddressCountry 0x8049
#define dispidInstMsg 0x8062
#define dispidEmailDisplayName 0x8080
#define dispidEmailOriginalDisplayName 0x8084
// In PSETID_Appointment
#define dispidLocation 0x8208
#define dispidApptStartWhole 0x820D
#define dispidApptEndWhole 0x820E
#define dispidApptDuration 0x8213
#define dispidRecurring 0x8223
#define dispidAllAttendeesString 0x8238
#define dispidToAttendeesString 0x823B
#define dispidCCAttendeesString 0x823C
// In PSETID_Common
#define dispidReminderSet 0x8503
#define dispidSmartNoAttach 0x8514
#define dispidCommonStart 0x8516
#define dispidCommonEnd 0x8517
#define dispidRequest 0x8530
#define dispidCompanies 0x8539
#define dispidReminderNextTime 0x8560
// In PSETID_Log (also known as Journal)
#define dispidLogType 0x8700
#define dispidLogStart 0x8706
#define dispidLogDuration 0x8707
#define dispidLogEnd 0x8708MNID_STRING properties
// In PSETID_Task
#define dispidTaskStartDate 0x8104
#define dispidTaskDueDate 0x8105
#define dispidTaskActualEffort 0x8110
#define dispidTaskEstimatedEffort 0x8111
#define dispidTaskFRecur 0x8126
MNID_STRING プロパティ
// In PS_PUBLIC_STRINGS
"Keywords"
// In PS_INTERNET_HEADERS
"return-path"
インターフェイス識別子
//{00375ac3-ecaf-4ef8-a527-34f452fa9c67}
DEFINE_GUID(IID_IFolderSupport, 0x00375ac3, 0xecaf, 0x4ef8, 0xa5, 0x27, 0x34, 0xf4, 0x52, 0xfa, 0x9c, 0x67);
//{29F3AB10-554d-11d0-a97c-00a0c911f50a}
#define DEFINE_PRXGUID(_name, _l) DEFINE_GUID(_name, (0x29f3ab10 + _l), 0x554d, 0x11d0, 0xa9, 0x7c, 0x00, 0xa0, 0xc9, 0x11, 0xf5, 0x0a)
DEFINE_PRXGUID(IID_IProxyStoreObject, 0x00000000L);
DEFINE_OLEGUID
Windows SDK ヘッダー ファイル guiddef.h で定義されているマクロを使用して、次の GUID シンボリック名をその値に関連付けます。
//{00020393-0000-0000-C000-000000000046}
DEFINE_OLEGUID(IID_IMSCapabilities, 0x00020393, 0, 0)
MAPI アドレス帳の変数
このセクションでは、MAPI アドレス帳の定数の定義について説明します。
定数 | 定義 | 説明 |
---|---|---|
CONTAB_ROOT |
((ULONG) 0x00000001) |
MAPI アドレス帳のオブジェクトのルート フォルダーです。 |
CONTAB_SUBROOT |
((ULONG) 0x00000002) |
MAPI アドレス帳のオブジェクトのルート フォルダー内に含まれるサブフォルダーです。 |
CONTAB_CONTAINER |
((ULONG) 0x00000003) |
アドレス帳のコンテナー オブジェクトです。 |
CONTAB_USER |
((ULONG) 0x00000004) |
メッセージングを処理するユーザー オブジェクトです。 |
CONTAB_DISTLIST |
((ULONG) 0x00000005) |
配布リスト オブジェクトです。 |
その他の MAPI 定数
このセクションでは、MAPI API で使用する定数の定義 (エラー コードを含む) とインターフェイス識別子について説明します。以下に記載されているのは、今まで未公開で文書化されていなかったものです。
定数 | 定義 | 説明 |
---|---|---|
DIALOG_MODAL |
((ULONG) 0x00000001) |
クライアントが IAddrBook::D etails メソッドを呼び出す場合、クライアントは ulFlags パラメーターに DIALOG_MODAL フラグを設定して、特定のアドレス帳エントリの詳細を示すモーダル ダイアログ ボックスを表示する必要があります。 この定数は mapidefs.h で定義されます。 |
ITEMPROC_FORCE |
0x00000800 |
Outlook 2007 では、MAPI クライアントに新しいメッセージが通知される前に、ラップされた PST ストアによって、新しいメッセージに対するルールとスパムのフィルター処理が行われます。 IMAPIFolder::CreateMessage メソッドを使用して PST ストアに新しいメッセージを作成するプロバイダーまたはクライアントは、IMAPIProp::SaveChanges メソッドの ulFlags パラメーターにITEMPROC_FORCE フラグを設定して、ストアがリッスンしているクライアントに新しいメッセージの到着を通知する前に、メッセージがルール処理の対象であることを PST ストアに示す必要があります。 なお、このルールの処理は、Microsoft Exchange Server 以外のサーバーで作成された新しいメッセージにのみ適用されます。Exchange Server は、そのサーバー上のメッセージ用のルールを処理するからです。 したがって、メッセージを作成するプロバイダーまたはクライアントは、サーバーが Exchange サーバーではないことを示す NON_EMS_XP_SAVE と組み合わせてこのフラグを渡す必要があります。 |
MAPI_BG_SESSION |
0x00200000 |
クライアントは MAPILogonEx 関数を呼び出し、flFlags パラメーターの MAPI_BG_SESSION フラグを設定してセッションにログオンし、バックグラウンドで任意の操作を実行できます。 通常、クライアントがバックグラウンド スレッドまたは別のプロセスでフォアグラウンド スレッドの妨げにならないように処理を行う場合は、MAPI_BG_SESSION フラグを使用して MAPILogonEx を呼び出す必要があります。 この例は、バックグラウンド型アクセスで個人用フォルダー ファイル (PST) を開くインデックス作成エンジンなどのクライアント アプリケーションで使用します。 |
MAPI_CACHE_ONLY |
0x00004000 |
クライアントは IAddrBook::OpenEntry メソッドを呼び出し、ulFlags パラメーターで MAPI_CACHE_ONLY フラグを設定してアドレス帳エントリを開き、その後キャッシュからのみアクセスできます。 この例は、Exchange キャッシュ モードでグローバル アドレス一覧を開き、クライアントとサーバー間のトラフィックを作成せずにキャッシュからそのアドレス帳のエントリにアクセスする、クライアント アプリケーションで使用します。 |
MAPI_DIALOG_MODELESS |
0x0000000C |
この値は 、ulFlags パラメーターの Simple MAPI MAPISendMail 関数に渡して、既定のメール アプリケーションでモードレス ダイアログ ボックスが表示されるように指定できます。 このフラグも MAPI_DIALOG (0x00000008) も設定されていないと、ダイアログ ボックスは表示されません。 |
MAPI_NO_CACHE |
0x00000200 |
Microsoft Office Outlook が Exchange キャッシュ モードにあり、ストアがキャッシュ モードで開かれている場合、クライアントまたはサービス プロバイダーは IMsgStore::OpenEntry を呼び出し、ulFlags パラメーターの MAPI_NO_CACHE フラグを設定してリモート ストア上のアイテムまたはフォルダーを開くことができます。 リモート サーバー上の MDB_ONLINE フラグを使用してメッセージ ストアを開く場合は、MAPI_NO_CACHE フラグを使用する必要はありません。 |
MAPI_UNICODE |
0x80000000 |
クライアントまたはサービス プロバイダーは OpenIMsgOnIStg 関数を呼び出し、ulFlags パラメーターに MAPI_UNICODE フラグを設定して Unicode .msg ファイルを作成できます。 結果として IMessage : IMAPIProp ファイルが作成され、このファイルは PidTagStoreSupportMask 正規プロパティに STORE_UNICODE_OK を表示し、Unicode のプロパティをサポートします。 この定数は mapidefs.h で定義されます。 |
MDB_ONLINE |
0x00000100 |
Outlook が Exchange キャッシュ モードの場合、クライアントまたはサービス プロバイダーは IMAPISession::OpenMsgStore メソッドを呼び出し、ulFlags パラメーターで MDB_ONLINE フラグを設定してローカル メッセージ ストアへの接続をオーバーライドし、リモート サーバー上のストアを開くことができます。 なお、同じ MAPI セッションにおいて、同時にキャッシュ モードと非キャッシュ モードで Exchange ストアを開くことはできません。 キャッシュ済みのメッセージ ストアを既に開いている場合は、このフラグを使用してストアを開く前にストアを閉じるか、このフラグを使用してリモート サーバー上の Exchange ストアを開くことができる新しい MAPI セッションを開く必要があります。 |
NON_EMS_XP_SAVE |
0x00001000 |
クライアントは IMAPIProp::SaveChanges メソッドを呼び出し、ulFlags パラメーターにNON_EMS_XP_SAVE フラグを設定して、メッセージが Exchange サーバーから配信されていないことを示すことができます。 このフラグは、ulFlags パラメーターの ITEMPROC_FORCE フラグと組み合わせて使用して、PST ストアがリッスンしているクライアントにメッセージの到着を通知する前に、メッセージがルール処理の対象であることを PST ストアに示す必要があります。 このルールの処理は、Exchange サーバーではないサーバー上の IMAPIFolder::CreateMessage で作成された新しいメッセージにのみ適用されます (Exchange サーバーでは、既にメッセージに対してルールが処理されています)。 |
SPAMFILTER_ONSAVE |
0x00000080 |
クライアントは IMAPIProp::SaveChanges を呼び出し、ulFlags パラメーターで SPAMFILTER_ONSAVE フラグを設定して、保存されているメッセージに対してスパム フィルター処理を有効にすることができます。 スパムのフィルター処理に関するサポートは、送信者の電子メール アドレスの種類が簡易メール転送プロトコル (SMTP) であり、メッセージが個人用フォルダー ファイル (PST) 向けのストアに保存されている場合にのみ使用することができます。 |
STORE_ITEMPROC |
0x00200000 |
ラップされた PST ストアの PidTagStoreSupportMask 正規プロパティにこのフラグが設定されている場合、ストアに新しいメッセージが到着したときに、ストアによるルールの処理とスパムのフィルター処理がメッセージごとに別々に行われることを示します。 それから、ストアは IMAPISupport::Notify を呼び出し、パラメーターとして渡された NOTIFICATION 構造に fnevNewMail を設定し、リッスンしているクライアントに新しいメッセージの詳細を渡します。 その後、リッスンしているクライアントが通知を受信すれば、メッセージに対するルールの処理は行われなくなります。 |
STORE_UNICODE_OK |
0x00040000 |
このフラグが PidTagStoreSupportMask 正規プロパティに含まれている場合、ストアが Unicode の記憶域をサポートしていることを示します。 クライアントは、フラグの有無を調べて、Unicode の情報を要求するかストアに保存するかを決定できます。 |
フォルダー内のアイテムをアーカイブするための定義
次の定数の定義は、PidTagAgingGranularity 正規プロパティの設定に使用する値です。
#define AG_MONTHS 0
#define AG_WEEKS 1
#define AG_DAYS 2
リモート オブジェクトを表示するための定義
次の定数およびマクロの定義は、リモート オブジェクトを表示するためのものです。 詳細については、PidTagDisplayTypeEx 正規プロパティ をご覧ください。
#define DTE_FLAG_REMOTE_VALID0x80000000
#define DTE_FLAG_ACL_CAPABLE 0x40000000
#define DTE_MASK_REMOTE 0x0000ff00
#define DTE_MASK_LOCAL 0x000000ff
#define DTE_IS_REMOTE_VALID(v)(!!((v) & DTE_FLAG_REMOTE_VALID))
#define DTE_IS_ACL_CAPABLE(v)(!!((v) & DTE_FLAG_ACL_CAPABLE))
#define DTE_REMOTE(v)(((v) & DTE_MASK_REMOTE) >> 8)
#define DTE_LOCAL(v)((v) & DTE_MASK_LOCAL)
#define DT_ROOM((ULONG) 0x00000007)
#define DT_EQUIPMENT((ULONG) 0x00000008)
#define DT_SEC_DISTLIST((ULONG) 0x00000009)
Exchange のアドレス帳およびメッセージ ストアのエラー コードの定義
以下は、再接続機能を持つ Exchange アドレス帳とメッセージ ストアのエラーコードの定義について説明したものです。 最後の呼び出しが切断されたグローバル カタログ (GC) への呼び出しの場合、再試行が必要となる MAPI_E_END_OF_SESSION エラーが発生する可能性があります。
Outlook の MAPI では、特別な再構成を行わずに GC サーバーに再接続することができますが、その他のエラー コードもクライアントに返されることがあります。
定数 | 定義 | 説明 |
---|---|---|
MAPI_E_END_OF_SESSION |
0x80040200 |
接続が切断されたときに返されます。 |
MAPI_E_RECONNECTED |
0x80040125 |
リモート プロシージャ コール (RPC) 接続トークンが古くなっている場合に返されます。 現在のトランザクションのトークンが再接続されたことを意味する接続のトークンと異なる場合は、 MAPI_E_RECONNECTEDが返され、MAPI_E_END_OF_SESSIONと同じように扱うことができます。 呼び出しは再試行する必要があります。 |
MAPI_E_OFFLINE |
0x80040126 |
接続がオフラインのときに返されます。 通常、サーバーの障害やネットワーク接続の切断など、環境内に何かが発生したことを意味します。 このエラーは、キャッシュ モードのプロファイルを使用して、サーバーと通信するためにキャッシュをバイパスしようとしたときに最も発生しやすくなります。 キャッシュによって最初にサーバーとの接続を確立できなかった場合は、オフライン状態になっている可能性があります。その場合、MAPI_E_OFFLINE が現れます。 |
上記に該当する可能性のあるすべてのシナリオの場合、上記 2 つのエラーはいずれも返されません。 ほとんどの場合、 MAPI_E_NETWORK_ERROR または MAPI_E_CALL_FAILED が返されます。 Microsoft Exchange Server MAPI クライアントと Collaboration Data Objects 1.2.1 のダウンロードを使用すれば、いずれも表示されなくなります。
Exchange Server メールボックスのキャッシュ モードのクォータに関する定義
次の定数の定義は、Microsoft Outlook 2010 および Microsoft Outlook 2013 で使用します。Microsoft Outlook 2010 および Microsoft Outlook 2013 以外の場合にオンライン プロファイルでのみ使用できる Exchange メールボックス クォータと同等の、Exchange のキャッシュ モードにおけるプロファイルのクォータを設定します。
#define PR_QUOTA_WARNING PROP_TAG( PT_LONG, 0x341A)
#define PR_QUOTA_SEND PROP_TAG( PT_LONG, 0x341B)
#define PR_QUOTA_RECEIVE PROP_TAG( PT_LONG, 0x341C)
これらのプロパティは、対応するオンライン プロパティにマップされ、キロバイト単位の同じ値が含まれます。 PR_QUOTA_WARNING は PR_STORAGE_QUOTA_LIMIT に、PR_QUOTA_SEND は PR_QUOTA_PROHIBIT_SEND_QUOTA に、PR_QUOTA_RECEIVE は PR_PROHIBIT_RECEIVE_QUOTA にそれぞれマップされます。
メッセージ形式の定義
次の定数の定義は、PidTagMessageEditorFormat 正規プロパティの設定に使用する値です。
#define EDITOR_FORMAT_DONTKNOW ((ULONG) 0)
#define EDITOR_FORMAT_PLAINTEXT ((ULONG) 1)
#define EDITOR_FORMAT_HTML ((ULONG) 2)
#define EDITOR_FORMAT_RTF ((ULONG) 3)
RPC over HTTP の使用の定義
プロパティを設定するフラグとして使用する定数の定義については、「PidTagRpcOverHttpFlags 正規プロパティ」のトピックを参照してください。
プロパティの設定に使用する定数の定義については、「PidTagRpcOverHttpProxyAuthScheme 正規プロパティ」のトピックを参照してください。
識別子
DEFINE_OLEGUID
Microsoft Windows ソフトウェア開発キット (Windows SDK) (SDK) ヘッダー ファイル guiddef.h で定義されているマクロを使用して、次の GUID シンボリック名をそれらの値に関連付けます。
//{0002038A-0000-0000-C000-000000000046}
#if !defined(INITGUID) || defined(USES_IID_IMessageRaw)
DEFINE_OLEGUID(IID_IMessageRaw,0x0002038A, 0, 0);
#endif
次の識別子は、アドレス帳の Capone Profile セクション用で、複数の Exchange (MultiEx) メールボックスのサポートに使用され、PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY プロパティが含まれます。このプロパティは SetDefaultDir によって指定された既定のコンテナーを事実上無効にします。
// {00020D0A-0000-0000-C000-000000000046}
DEFINE_OLEGUID(IID_CAPONE_PROF, 0x00020d0a, 0, 0);
インターフェイス識別子
IMAPISync
DEFINE_GUID(IID_IMAPISync, 0x5024a385, 0x2d44, 0x486a, 0x81, 0xa8, 0x8f, 0xe, 0xcb, 0x60, 0x71, 0xdd);
IMAPISyncProgressCallback
DEFINE_GUID(IID_IMAPISyncProgressCallback, 0x5024a386, 0x2d44, 0x486a, 0x81, 0xa8, 0x8f, 0xe, 0xcb, 0x60, 0x71, 0xdd);
IID_IContabAdmin
// {CC6A3BA9-E7F5-4769-887B-34E190817BFC}
DEFINE_GUID(IID_IContabAdmin, 0xcc6a3ba9, 0xe7f5, 0x4769, 0x88, 0x7b, 0x34, 0xe1, 0x90, 0x81, 0x7b, 0xfc);
IID_IMAPISECUREMESSAGE
DEFINE_GUID(IID_IMAPISecureMessage, 0x253cc320, 0xeab6, 0x11d0, 0x82, 0x22, 0, 0x60, 0x97, 0x93, 0x87, 0xea);
IID_IMAPIGetSession
DEFINE_GUID(IID_IMAPIGetSession, 0x614ab435, 0x491d, 0x4f5b, 0xa8, 0xb4, 0x60, 0xeb, 0x3, 0x10, 0x30, 0xc6);
PST 上書きハンドラーのインターフェイス識別子
IID_IPSTOVERRIDEREQ
// {892EBC6D-24DC-4d90-BA48-C6CBEC14A86A}
DEFINE_GUID(IID_IPSTOVERRIDEREQ, 0x892ebc6d, 0x24dc, 0x4d90, 0xba, 0x48, 0xc6, 0xcb, 0xec, 0x14, 0xa8, 0x6a);
IID_IPSTOVERRIDE1
// {FBB68D34-F561-44fb-A8CA-AE36696342CA}
DEFINE_GUID(IID_IPSTOVERRIDE1, 0xfbb68d34, 0xf561, 0x44fb, 0xa8, 0xca, 0xae, 0x36, 0x69, 0x63, 0x42, 0xca);