Константы MAPI
Область применения: Outlook 2013 | Outlook 2016
Эта статья содержит определения констант, объявления интерфейсов MAPI, идентификаторы классов и интерфейсов, используемые API-интерфейсами MAPI.
Идентификаторы классов и интерфейсов
Связывайте символьные имена глобальных уникальных идентификаторов (GUID) с их значениями с помощью макроса DEFINE_GUID, заданного в файле заголовка guiddef.h пакета средств разработки программного обеспечения (SDK) Microsoft Windows, если не указано иное.
API преобразования безопасности вложений
Этот раздел содержит определения констант и идентификаторы интерфейсов для API безопасности вложений.
// {b2533636-c3f3-416f-bf04-aefe41abaae2}
DEFINE_GUID(IID_IAttachmentSecurity, 0xb2533636, 0xc3f3, 0x416f, 0xbf, 0x04, 0xae, 0xfe, 0x41, 0xab, 0xaa, 0xe2);
Используйте макрос MAPIMETHOD, заданный в файле заголовка mapidefs.h пакета Windows SDK, чтобы определить истинную виртуальную функцию IsAttachmentBlocked.
#define MAPI_IATTACHMENTSECURITY_METHODS(IPURE) MAPIMETHOD(IsAttachmentBlocked) (LPCWSTR pwszFileName, BOOL *pfBlocked) IPURE;
Используйте макрос DECLARE_MAPI_INTERFACE_, заданный в файле заголовка mapidefs.h пакета Windows SDK, чтобы определить таблицу виртуальных методов для интерфейса IAttachmentSecurity.
DECLARE_MAPI_INTERFACE_(IAttachmentSecurity, IUnknown)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IATTACHMENTSECURITY_METHODS(PURE)
};
API преобразования MAPI-MIME
Этот раздел содержит определения констант, а также идентификаторы классов и интерфейсов для API преобразования MAPI-MIME.
Константа | Определение |
---|---|
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 |
Определено в файле заголовка winerror.h пакета Microsoft Windows SDK |
Идентификаторы классов
// {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 |
Определено в файле заголовка winerror.h пакета Microsoft Windows SDK |
E_NOINTERFACE |
Определено в файле заголовка winerror.h пакета Windows SDK |
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 репликации
Этот раздел содержит определения констант, объявления интерфейсов MAPI, идентификаторы классов и интерфейсов для API репликации.
Структура MAPIUID, определяющая поставщика службы MAPI:
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
Этот раздел содержит определения констант и идентификаторы интерфейсов, которые используются API, взаимодействующими с хранилищем MAPI.
Константа | Определение | Описание |
---|---|---|
fnevIndexing |
((ULONG) 0x00010000) |
Поставщик хранилища может указать fnevIndexing в элементе ulEventType структуры NOTIFICATION, чтобы уведомлять индексатора о готовности объекта для индексации. Элемент info структуры 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 |
Определено в файле заголовка mapidefs.h пакета Microsoft Windows SDK |
Значение для поля ulKind структуры MAPINAMEID. |
MNID_STRING |
Определено в файле заголовка mapidefs.h пакета Microsoft Windows SDK. | Значение для поля ulKind структуры MAPINAMEID. |
MSCAP_RES_ANNOTATION |
((ULONG) 0x00000001) |
Если клиент указывает MSCAP_SEL_RESTRICTION в mscapSelector для IMSCapabilities::GetCapabilities, GetCapabilities может вернуть это значение, если хранилище игнорирует недопустимые параметры в ограничении. |
MSCAP_SECURE_FOLDER_HOMEPAGES |
((ULONG) 0x00000001) |
Если клиент указывает MSCAP_SEL_FOLDER в mscapSelector для IMSCapabilities::GetCapabilities, GetCapabilities может вернуть это значение, если хранилище не является хранилищем по умолчанию, которое поддерживает домашние страницы папок. |
STORE_PUSHER_OK |
((ULONG) 0X00800000) |
Клиент может использовать свойство PR_SUPPORT_MASK для определения характеристики хранилища сообщений. Установка поставщиком хранилища флага STORE_PUSHER_OK в битовой маске означает, что обработчик протокола MAPI не выполняет обход хранилища, и хранилище отвечает за отправку всех изменений в виде уведомлений индексатору для индексации сообщений. |
Определения для пространств имен
Указанные ниже глобальные уникальные идентификаторы (GUID) представляют пространства имен для именованных свойств. Они индексируются с помощью обработчика протокола MAPI и предназначаются только для чтения.
Предостережение
Именованные свойства не должны использоваться для создания или изменения элементов.
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
Этот раздел содержит определения констант, включая коды ошибок, и идентификаторы интерфейсов, используемые API-интерфейсами MAPI, которые ранее не описывались.
Константа | Определение | Описание |
---|---|---|
DIALOG_MODAL |
((ULONG) 0x00000001) |
Когда клиент вызывает метод IAddrBook::D etails , клиент должен задать флаг DIALOG_MODAL в параметре ulFlags , чтобы отобразить модальное диалоговое окно с подробными сведениями о конкретной записи адресной книги. Константа определена в mapidefs.h. |
ITEMPROC_FORCE |
0x00000800 |
В Outlook 2007 упакованные PST-хранилища применяют правила и фильтрацию спама для новых сообщений до уведомления о них клиентов MAPI. Поставщик или клиент, использующий метод IMAPIFolder::CreateMessage для создания нового сообщения в PST-хранилищах, должен задать флаг ITEMPROC_FORCE в параметре ulFlags метода IMAPIProp::SaveChanges , чтобы указать PST-хранилищу, что сообщение подходит для обработки правил, прежде чем хранилище уведомляет любого прослушивающего клиента о поступлении нового сообщения. Обратите внимание, что такое применение правил относится только к новым сообщениям, созданным на сервере, не являющимся Microsoft Exchange Server, так как Exchange Server применяет правила для сообщений на сервере. Поэтому поставщик или клиент, создающий сообщение, должен передать этот флаг вместе с NON_EMS_XP_SAVE, что указывает на применение сервера, отличного от сервера Exchange. |
MAPI_BG_SESSION |
0x00200000 |
Клиент может вызвать функцию MAPILogonEx , установив флаг MAPI_BG_SESSION в параметре flFlags для входа в сеанс и выполнения любых операций в фоновом режиме. Как правило, если клиент собирается выполнять обработку в фоновом потоке или отдельном процессе, чтобы он не мешал потоку переднего плана, следует вызвать функцию MAPILogonEx с флагом MAPI_BG_SESSION. Примером такого использования является клиентское приложение, например подсистема индексирования, открывающая файл личных папок (PST) для доступа в фоновом режиме. |
MAPI_CACHE_ONLY |
0x00004000 |
Клиент может вызвать метод IAddrBook::OpenEntry , установив флаг MAPI_CACHE_ONLY в параметре ulFlags , чтобы открыть запись адресной книги и получить к ней доступ только из кэша. Примером такого использования является клиентское приложение, открывающее глобальный список адресов в режиме кэширования Exchange и получающее доступ к записи в этой адресной книге из кэша, не создавая трафик между клиентом и сервером. |
MAPI_DIALOG_MODELESS |
0x0000000C |
Это значение можно передать в функцию Simple MAPI MAPISendMail в параметре ulFlags , чтобы указать, что в почтовом приложении по умолчанию отображается диалоговое окно без режима. Если ни этот флаг, ни MAPI_DIALOG (0x00000008) не установлены, никакое диалоговое окно не отображается. |
MAPI_NO_CACHE |
0x00000200 |
Если Microsoft Office Outlook находится в режиме кэширования Exchange и хранилище открыто в кэшированном режиме, клиент или поставщик служб может вызвать IMsgStore::OpenEntry, установив флаг MAPI_NO_CACHE в параметре ulFlags , чтобы открыть элемент или папку в удаленном хранилище. Обратите внимание, что при открытии хранилища сообщений с флагом MDB_ONLINE на удаленном сервере вам не потребуется использовать флаг MAPI_NO_CACHE. |
MAPI_UNICODE |
0x80000000 |
Клиент или поставщик услуг может вызвать функцию OpenIMsgOnIStg , установив флаг MAPI_UNICODE в параметре ulFlags для создания юникода .msg файлов. Итоговый файл IMessage: IMAPIProp отображает флаг STORE_UNICODE_OK в каноническом свойстве PidTagStoreSupportMask и поддерживает свойства Юникода. Константа определена в mapidefs.h. |
MDB_ONLINE |
0x00000100 |
Если Outlook находится в режиме кэширования Exchange, клиент или поставщик услуг может вызвать метод IMAPISession::OpenMsgStore , установив флаг MDB_ONLINE в параметре ulFlags , чтобы переопределить подключение к локальному хранилищу сообщений и открыть хранилище на удаленном сервере. Обратите внимание, что в одном сеансе MAPI невозможно одновременно открыть хранилище Exchange в режиме кэширования и режиме без использования кэша. Если вы уже открыли хранилище кэшированных сообщений, потребуется его закрыть перед открытием с этим флагом или открыть новый сеанс MAPI, в котором можно будет открыть хранилище Exchange на удаленном сервере с использованием этого флага. |
NON_EMS_XP_SAVE |
0x00001000 |
Клиент может вызвать метод IMAPIProp::SaveChanges , установив флаг NON_EMS_XP_SAVE в параметре ulFlags , чтобы указать, что сообщение не было доставлено с сервера Exchange Server. Этот флаг следует использовать в сочетании с флагом ITEMPROC_FORCE в параметре ulFlags , чтобы указать PST-хранилищу, что сообщение может обрабатываться правилами до того, как PST-хранилище уведомит любого прослушивающего клиента о поступлении сообщения. Такое применение правил относится только к новым сообщениям, созданным с помощью метода IMAPIFolder::CreateMessage на сервере, не являющимся сервером Exchange (поскольку в случае сервера Exchange для сообщения уже применены правила). |
SPAMFILTER_ONSAVE |
0x00000080 |
Клиент может вызвать IMAPIProp::SaveChanges, установив флаг SPAMFILTER_ONSAVE в параметре ulFlags , чтобы включить фильтрацию нежелательной почты в сохраняемом сообщении. Поддержка фильтрации нежелательной почты доступна только в том случае, если тип адреса электронной почты отправителя соответствует протоколу SMTP, а сообщение сохранено в хранилище для файлов личных папок (PST). |
STORE_ITEMPROC |
0x00200000 |
Если этот флаг установлен в каноническом свойстве PidTagStoreSupportMask упакованного PST-хранилища, это означает, что при поступлении в хранилище нового сообщения правила и фильтрация спама применяются для сообщения отдельно. Затем хранилище вызывает метод IMAPISupport::Notify, задавая передаваемый параметр fnevNewMail в структуре NOTIFICATION, с отправкой сведений о новом сообщении прослушивающему клиенту. Впоследствии, когда прослушивающий клиент получает уведомление, к сообщению не применяются правила. |
STORE_UNICODE_OK |
0x00040000 |
Если этот флаг включен в каноническое свойство PidTagStoreSupportMask, это значит, что хранилище поддерживает хранилище Юникод. Клиент можно проверить наличие флага, чтобы принять решение о запросе или сохранении сведений Юникода в хранилище. |
Определения для архивации элементов в папке
Следующие определения констант — это значения, используемые для задания канонического свойства 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, требующей выполнения повторных попыток.
MAPI Outlook поддерживает повторное подключение к серверу 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 . Ни одна из них не появляется при использовании загрузки для клиента MAPI Microsoft Exchange Server и объектов данных совместной работы 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)
Эти свойства сопоставляются с соответствующими сетевыми свойствами и содержат такие же значения в килобайтах. 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 через HTTP
Определения констант, используемые в качестве флагов для задания свойства, см. в разделе Каноническое свойство PidTagRpcOverHttpFlags.
Определения констант, используемые для задания свойства, см. в разделе Каноническое свойство PidTagRpcOverHttpProxyAuthScheme.
Идентификаторы
Используйте макрос, 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);
См. также
- Сведения о дополнениях для MAPI
- Сведения об именованных свойствах, используемых в Outlook
- Доступ к хранилищу на удаленном сервере, если Outlook работает в режиме кэширования Exchange
- Открытие хранилища на удаленном сервере, если Outlook работает в режиме кэширования Exchange
- Управление сообщением в OST без вызова синхронизации в режиме кэширования Exchange