共用方式為


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::OpenEntryIMAPISession::OpenEntryIMsgStore::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_ERRORMAPI_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);

另請參閱