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);
使用 Windows SDK 頭檔 mapidefs.h 中定義的 MAPIMETHOD 宏來定義純虛擬函式 IsAttachmentBlocked。
#define MAPI_IATTACHMENTSECURITY_METHODS(IPURE) MAPIMETHOD(IsAttachmentBlocked) (LPCWSTR pwszFileName, BOOL *pfBlocked) IPURE;
使用 Windows SDK 頭檔 mapidefs.h 中定義的DECLARE_MAPI_INTERFACE_宏來定義 IAttachmentSecurity 的虛擬方法數據表。
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 ,分別開啟和忽略資料夾對象和訊息物件上的任何提供者檢查。
//{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 結構的信息成員包含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 中針對 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);
使用 Windows SDK DEFINE_OLEGUID
頭檔 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 中,包裝的 PST 存放區會在新郵件上處理規則和垃圾郵件篩選,然後 MAPI 用戶端才會收到新訊息的通知。 使用 IMAPIFolder::CreateMessage 方法在 PST 存放區中建立新訊息的提供者或客戶端,應該在 IMAPIProp::SaveChanges 方法的 ulFlags 參數中設定ITEMPROC_FORCE旗標,向 PST 存放區指出訊息符合規則處理資格,然後存放區才會通知任何接聽用戶端新訊息送達。 請注意,這類規則處理只適用於在非 Microsoft Exchange Server 伺服器上建立的新訊息,因為 Exchange Server 處理伺服器上訊息的規則。 因此,建立訊息的提供者或客戶端必須與 NON_EMS_XP_SAVE 一起傳遞此旗 標,這表示伺服器不是 Exchange 伺服器。 |
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 Canonical 屬性中顯示STORE_UNICODE_OK,並支援 Unicode 屬性。 此常數定義於mapidefs.h中。 |
MDB_ONLINE |
0x00000100 |
如果 Outlook 處於快取 Exchange 模式,用戶端或服務提供者可以呼叫 IMAPISession::OpenMsgStore 方法,在 ulFlags 參數中設定MDB_ONLINE旗標,以覆寫本機訊息存放區的連線,並在遠端伺服器上開啟存放區。 請注意,在相同的 MAPI 會話中,您無法在快取模式和非快取模式中同時開啟 Exchange 存放區。 如果您已經開啟快取的訊息存放區,您必須先關閉存放區,再使用此旗標開啟該存放區,或開啟新的 MAPI 會話,以便使用此旗標在遠端伺服器上開啟 Exchange 存放區。 |
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 Canonical 屬性 中設定此旗標,則表示當新訊息抵達存放區時,存放區會分別處理郵件的規則和垃圾郵件篩選。 然後,存放區會呼叫 IMAPISupport::Notify,在做為參數傳遞的通知結構中設定 fnevNewMail,然後將新訊息的詳細數據傳遞給接聽的用戶端。 接著,當接聽用戶端收到通知時,它不會處理訊息上的規則。 |
STORE_UNICODE_OK |
0x00040000 |
如果此旗標包含在 PidTagStoreSupportMask Canonical 屬性中,則表示存放區支援 Unicode 儲存體。 用戶端可以尋找旗標是否存在,以決定是否要要求或將 Unicode 資訊儲存至存放區。 |
資料夾中封存項目的定義
下列常數定義是用來設定 PidTagAgingGranularity Canonical 屬性的值。
#define AG_MONTHS 0
#define AG_WEEKS 1
#define AG_DAYS 2
顯示遠端物件的定義
下列常數和宏定義是用於顯示遠端物件。 如需詳細資訊,請參閱 PidTagDisplayTypeEx Canonical 屬性。
#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 可能呈現。 |
在可能套用前兩個錯誤的所有案例中,都不會傳回上述兩個錯誤。 在大部分情況下, 會傳回MAPI_E_NETWORK_ERROR 或 MAPI_E_CALL_FAILED 。 兩者都不會使用 Microsoft Exchange Server MAPI 用戶端和共同作業數據物件 1.2.1 下載來顯示。
信箱快取模式配額 Exchange Server 定義
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)
這些屬性會對應至其對應的在線屬性,並包含以 KB 為單位的相同值。 PR_QUOTA_WARNING對應至PR_STORAGE_QUOTA_LIMIT、PR_QUOTA_SEND至PR_QUOTA_PROHIBIT_SEND_QUOTA,以及PR_QUOTA_RECEIVE至PR_PROHIBIT_RECEIVE_QUOTA。
訊息格式的定義
下列常數定義是用來設定 PidTagMessageEditorFormat Canonical 屬性的值。
#define EDITOR_FORMAT_DONTKNOW ((ULONG) 0)
#define EDITOR_FORMAT_PLAINTEXT ((ULONG) 1)
#define EDITOR_FORMAT_HTML ((ULONG) 2)
#define EDITOR_FORMAT_RTF ((ULONG) 3)
透過 HTTP 使用 RPC 的定義
如需做為旗標的常數定義,請參閱 PidTagRpcOverHttpFlags Canonical 屬性 主題,以設定屬性。
如需用來設定屬性的常數定義,請參閱 PidTagRpcOverHttpProxyAuthScheme Canonical 屬性 主題。
識別碼
DEFINE_OLEGUID
使用 Microsoft Windows 軟體開發套件 (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 配置檔區段,其中支援多個 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);