PageRenderTime 42ms CodeModel.GetById 15ms app.highlight 19ms RepoModel.GetById 1ms app.codeStats 0ms

/ExtraPropTags.h

#
C++ Header | 1061 lines | 816 code | 134 blank | 111 comment | 0 complexity | cd532664970a15081a9229bba7195f10 MD5 | raw file
   1#pragma once
   2
   3enum __NonPropFlag
   4{
   5	flagSearchFlag = 0x10000, // ensure that all flags in the enum are > 0xffff
   6	flagSearchState,
   7	flagTableStatus,
   8	flagTableType,
   9	flagObjectType,
  10	flagSecurityVersion,
  11	flagSecurityInfo,
  12	flagACEFlag,
  13	flagACEType,
  14	flagACEMaskContainer,
  15	flagACEMaskNonContainer,
  16	flagACEMaskFreeBusy,
  17	flagStreamFlag,
  18	flagRestrictionType,
  19	flagBitmask,
  20	flagRelop,
  21	flagAccountType,
  22	flagBounceCode,
  23	flagOPReply,
  24	flagOpForward,
  25	flagFuzzyLevel,
  26	flagRulesVersion,
  27	flagNotifEventType,
  28	flagTableEventType,
  29	flagTZRule,
  30	flagRuleFlag,
  31	flagExtendedFolderFlagType,
  32	flagExtendedFolderFlag,
  33	flagRecurFrequency,
  34	flagPatternType,
  35	flagCalendarType,
  36	flagDOW,
  37	flagN,
  38	flagEndType,
  39	flagFirstDOW,
  40	flagOverrideFlags,
  41	flagReportTagVersion,
  42	flagGlobalObjectIdMonth,
  43	flagOneOffEntryId,
  44	flagEntryId0,
  45	flagEntryId1,
  46	flagMessageDatabaseObjectType,
  47	flagContabVersion,
  48	flagContabType,
  49	flagContabIndex,
  50	flagExchangeABVersion,
  51	flagMDBVersion,
  52	flagMDBFlag,
  53	flagPropDefVersion,
  54	flagPDOFlag,
  55	flagVarEnum,
  56	flagInternalType,
  57	flagPersistID,
  58	flagElementID,
  59	flagWABEntryIDType,
  60	flagWebViewVersion,
  61	flagWebViewType,
  62	flagWebViewFlags,
  63	flagFolderType,
  64	flagFieldCap,
  65	flagCcsf,
  66	flagIet,
  67	flagEidMagic,
  68	flagEidVersion,
  69};
  70
  71#define PR_FREEBUSY_NT_SECURITY_DESCRIPTOR (PROP_TAG(PT_BINARY,0x0F00))
  72
  73// http://support.microsoft.com/kb/171670
  74// Entry ID for the Calendar
  75#define PR_IPM_APPOINTMENT_ENTRYID (PROP_TAG(PT_BINARY,0x36D0))
  76// Entry ID for the Contact Folder
  77#define PR_IPM_CONTACT_ENTRYID (PROP_TAG(PT_BINARY,0x36D1))
  78// Entry ID for the Journal Folder
  79#define PR_IPM_JOURNAL_ENTRYID (PROP_TAG(PT_BINARY,0x36D2))
  80// Entry ID for the Notes Folder
  81#define PR_IPM_NOTE_ENTRYID (PROP_TAG(PT_BINARY,0x36D3))
  82// Entry ID for the Task Folder
  83#define PR_IPM_TASK_ENTRYID (PROP_TAG(PT_BINARY,0x36D4))
  84// Entry IDs for the Reminders Folder
  85#define PR_REM_ONLINE_ENTRYID (PROP_TAG(PT_BINARY,0x36D5))
  86#define PR_REM_OFFLINE_ENTRYID PROP_TAG(PT_BINARY, 0x36D6)
  87// Entry ID for the Drafts Folder
  88#define PR_IPM_DRAFTS_ENTRYID (PROP_TAG(PT_BINARY,0x36D7))
  89
  90#define PR_FREEBUSY_ENTRYIDS PROP_TAG(PT_MV_BINARY, 0x36E4)
  91#ifndef PR_RECIPIENT_TRACKSTATUS
  92#define PR_RECIPIENT_TRACKSTATUS PROP_TAG(PT_LONG, 0x5FFF)
  93#endif
  94#define PR_RECIPIENT_FLAGS PROP_TAG(PT_LONG, 0x5FFD)
  95#define PR_RECIPIENT_ENTRYID PROP_TAG(PT_BINARY, 0x5FF7)
  96#define PR_ICON_INDEX PROP_TAG(PT_LONG, 0x1080)
  97
  98#ifndef PR_NT_SECURITY_DESCRIPTOR
  99#define PR_NT_SECURITY_DESCRIPTOR (PROP_TAG(PT_BINARY,0x0E27))
 100#endif
 101#ifndef PR_BODY_HTML
 102#define PR_BODY_HTML (PROP_TAG(PT_TSTRING,0x1013))
 103#endif
 104
 105#ifndef PR_SEND_INTERNET_ENCODING
 106#define PR_SEND_INTERNET_ENCODING PROP_TAG(PT_LONG, 0x3A71)
 107#endif
 108#ifndef PR_ATTACH_FLAGS
 109#define PR_ATTACH_FLAGS PROP_TAG(PT_LONG, 0x3714)
 110#endif
 111
 112// http://support.microsoft.com/kb/837364
 113#ifndef PR_CONFLICT_ITEMS
 114#define PR_CONFLICT_ITEMS PROP_TAG(PT_MV_BINARY,0x1098)
 115#endif
 116
 117// http://support.microsoft.com/kb/278321
 118#ifndef PR_INETMAIL_OVERRIDE_FORMAT
 119#define PR_INETMAIL_OVERRIDE_FORMAT PROP_TAG(PT_LONG,0x5902)
 120#endif
 121
 122// http://support.microsoft.com/kb/312900
 123#define PR_CERT_DEFAULTS                PROP_TAG(PT_LONG,       0x0020)
 124// Values for PR_CERT_DEFAULTS
 125#define MSG_DEFAULTS_NONE               0
 126#define MSG_DEFAULTS_FOR_FORMAT         1 // Default certificate for S/MIME.
 127#define MSG_DEFAULTS_GLOBAL             2 // Default certificate for all formats.
 128#define MSG_DEFAULTS_SEND_CERT          4 // Send certificate with message.
 129
 130// http://support.microsoft.com/kb/194955
 131#define PR_AGING_GRANULARITY    PROP_TAG(PT_LONG,0x36EE)
 132
 133// http://msdn2.microsoft.com/en-us/library/bb176434.aspx
 134#define PR_AGING_DEFAULT          PROP_TAG(PT_LONG,0x685E)
 135
 136#define AG_DEFAULT_FILE			0x01
 137#define AG_DEFAULT_ALL			0x02
 138
 139// IMPORTANT NOTE: This property holds additional Ren special folder EntryIDs.
 140// The EntryID is for the special folder is located at sf* - sfRenMVEntryIDs
 141// This is the only place you should add new special folder ids, and the order
 142// of these entry ids must be preserved for legacy clients.
 143// Also, all new (as of Office.NET) special folders should have the extended
 144// folder flag XEFF_SPECIAL_FOLDER to tell the folder tree data to check if
 145// this folder is actually special or not.
 146// See comment above for places in Outlook that will need modification if you
 147// add a new sf* index.
 148// It currently contains:
 149//       sfConflicts       0
 150//       sfSyncFailures    1
 151//       sfLocalFailures   2
 152//       sfServerFailures  3
 153//       sfJunkEmail       4
 154//       sfSpamTagDontUse  5
 155//
 156// NOTE: sfSpamTagDontUse is not the real special folder but used #5 slot
 157// Therefore, we need to skip it when enum through sf* special folders.
 158#define PR_ADDITIONAL_REN_ENTRYIDS    PROP_TAG(PT_MV_BINARY, 0x36D8)
 159
 160// http://msdn2.microsoft.com/en-us/library/bb820966.aspx
 161#define	PR_PROFILE_SERVER_FULL_VERSION PROP_TAG( PT_BINARY, pidProfileMin+0x3b)
 162
 163// [MS-NSPI].pdf
 164#define DT_CONTAINER    ((ULONG) 0x00000100)
 165#define DT_TEMPLATE     ((ULONG) 0x00000101)
 166#define DT_ADDRESS_TEMPLATE ((ULONG) 0x00000102)
 167#define DT_SEARCH       ((ULONG) 0x00000200)
 168
 169// http://msdn2.microsoft.com/en-us/library/bb821036.aspx
 170#define PR_FLAG_STATUS PROP_TAG( PT_LONG, 0x1090 )
 171enum FollowUpStatus
 172{
 173	flwupNone = 0,
 174	flwupComplete,
 175	flwupMarked
 176};
 177
 178// http://msdn2.microsoft.com/en-us/library/bb821062.aspx
 179#define PR_FOLLOWUP_ICON PROP_TAG( PT_LONG, 0x1095 )
 180enum OlFlagIcon
 181{
 182	olNoFlagIcon = 0,
 183	olPurpleFlagIcon = 1,
 184	olOrangeFlagIcon = 2,
 185	olGreenFlagIcon = 3,
 186	olYellowFlagIcon = 4,
 187	olBlueFlagIcon = 5,
 188	olRedFlagIcon = 6,
 189};
 190
 191// http://msdn2.microsoft.com/en-us/library/bb821130.aspx
 192enum Gender
 193{
 194	genderMin = 0,
 195	genderUnspecified = genderMin,
 196	genderFemale,
 197	genderMale,
 198	genderCount,
 199	genderMax = genderCount - 1
 200};
 201
 202// [MS-OXCFOLD]
 203// Use CI searches exclusively (never use old-style search)
 204#define CONTENT_INDEXED_SEARCH		((ULONG) 0x00010000)
 205
 206// Never use CI search (old-style search only)
 207#define NON_CONTENT_INDEXED_SEARCH	((ULONG) 0x00020000)
 208
 209// Make the search static (no backlinks/dynamic updates).  This is independent
 210// of whether or not the search uses CI.
 211#define STATIC_SEARCH				((ULONG) 0x00040000)
 212
 213// http://msdn.microsoft.com/en-us/library/ee219969(EXCHG.80).aspx
 214// The search used the content index (CI) in some fashion, and is
 215// non-dynamic
 216// NOTE: If SEARCH_REBUILD is set, the query is still being processed, and
 217// the static-ness may not yet have been determined (see SEARCH_MAYBE_STATIC).
 218#define SEARCH_STATIC			((ULONG) 0x00010000)
 219
 220// The search is still being evaluated (SEARCH_REBUILD should always
 221// be set when this bit is set), and could become either static or dynamic.
 222// This bit is needed to distinguish this in-progress state separately from
 223// static-only (SEARCH_STATIC) or dynamic-only (default).
 224#define SEARCH_MAYBE_STATIC		((ULONG) 0x00020000)
 225
 226// CI TWIR Search State for a query request.
 227// Currently, we have 4 different search states for CI/TWIR, they are:
 228// CI Totally, CI with TWIR residual, TWIR Mostly, and TWIR Totally
 229#define SEARCH_COMPLETE         ((ULONG) 0x00001000)
 230#define SEARCH_PARTIAL          ((ULONG) 0x00002000)
 231#define CI_TOTALLY              ((ULONG) 0x01000000)
 232#define CI_WITH_TWIR_RESIDUAL   ((ULONG) 0x02000000)
 233#define TWIR_MOSTLY             ((ULONG) 0x04000000)
 234#define TWIR_TOTALLY            ((ULONG) 0x08000000)
 235
 236// [MS-OXCSPAM].pdf
 237#define PR_SENDER_ID_STATUS PROP_TAG( PT_LONG, 0x4079)
 238// Values that PR_SENDER_ID_STATUS can take
 239#define SENDER_ID_NEUTRAL				0x1
 240#define SENDER_ID_PASS					0x2
 241#define SENDER_ID_FAIL					0x3
 242#define SENDER_ID_SOFT_FAIL				0x4
 243#define SENDER_ID_NONE					0x5
 244#define SENDER_ID_TEMP_ERROR			0x80000006
 245#define SENDER_ID_PERM_ERROR			0x80000007
 246
 247#define PR_JUNK_THRESHOLD PROP_TAG(PT_LONG, 0x6101)
 248#define SPAM_FILTERING_NONE						0xFFFFFFFF
 249#define SPAM_FILTERING_LOW						0x00000006
 250#define SPAM_FILTERING_MEDIUM					0x00000005
 251#define SPAM_FILTERING_HIGH						0x00000003
 252#define SPAM_FILTERING_TRUSTED_ONLY				0x80000000
 253
 254// [MS-OXOCAL].pdf
 255#define RECIP_UNSENDABLE	(int) 0x0000
 256#define RECIP_SENDABLE		(int) 0x0001
 257#define RECIP_ORGANIZER		(int) 0x0002   // send bit plus this one
 258#define RECIP_EXCEPTIONAL_RESPONSE	(int) 0x0010 // recipient has exceptional response
 259#define RECIP_EXCEPTIONAL_DELETED	(int) 0x0020 // recipient is NOT in this exception
 260#define RECIP_ORIGINAL		(int) 0x0100	// this was an original recipient on the meeting request
 261
 262#define	respNone			0
 263#define	respOrganized		1
 264#define respTentative		2
 265#define respAccepted		3
 266#define respDeclined		4
 267#define respNotResponded	5
 268
 269// [MS-OXOFLAG].pdf
 270#define PR_TODO_ITEM_FLAGS PROP_TAG(PT_LONG, 0x0e2b)
 271#define TDIP_None			0x00000000
 272#define TDIP_Active			0x00000001 // Object is time flagged
 273#define TDIP_ActiveRecip	0x00000008 // SHOULD only be set on a draft message object, and means that the object is flagged for recipients.
 274
 275// [MS-OXORule].pdf
 276#define PR_RULE_MSG_STATE PROP_TAG(PT_LONG, 0x65e9)
 277
 278// [MS-OXOSRCH].pdf
 279#define PR_WB_SF_STORAGE_TYPE PROP_TAG(PT_LONG, 0x6846)
 280enum t_SmartFolderStorageType
 281{
 282	SFST_NUMBER = 0x01,			// for template's data (numbers)
 283	SFST_TEXT = 0x02,			// for template's data (strings)
 284	SFST_BINARY = 0x04,			// for template's data (binary form, such as entry id, etc.)
 285	SFST_MRES = 0x08,			// for condition in MRES format
 286	SFST_FILTERSTREAM = 0x10,	// for condition in IStream format
 287	SFST_FOLDERNAME = 0x20,		// for folder list's names
 288	SFST_FOLDERLIST = 0x40,		// for the binary folder entrylist
 289
 290	SFST_TIMERES_MONTHLY = 0x1000,	// monthly update
 291	SFST_TIMERES_WEEKLY = 0x2000,	// weekly update
 292	SFST_TIMERES_DAILY = 0x4000,	// the restriction(or filter) has a time condition in it
 293	SFST_DEAD = 0x8000,				// used to indicate there is not a valid SPXBIN
 294};
 295
 296// [MS-OXOCAL].pdf
 297#define dispidBusyStatus 0x8205
 298enum OlBusyStatus
 299{
 300	olFree = 0,
 301	olTentative = 1,
 302	olBusy = 2,
 303	olOutOfOffice = 3,
 304};
 305#define dispidApptAuxFlags 0x8207
 306#define	auxApptFlagCopied 0x0001
 307#define	auxApptFlagForceMtgResponse 0x0002
 308#define	auxApptFlagForwarded 0x0004
 309
 310#define dispidApptColor 0x8214
 311#define dispidApptStateFlags 0x8217
 312#define	asfNone			0x0000
 313#define	asfMeeting		0x0001
 314#define asfReceived		0x0002
 315#define asfCancelled	0x0004
 316#define asfForward		0x0008
 317
 318#define dispidResponseStatus 0x8218
 319#define dispidRecurType 0x8231
 320#define rectypeNone		(int) 0
 321#define rectypeDaily	(int) 1
 322#define rectypeWeekly	(int) 2
 323#define rectypeMonthly	(int) 3
 324#define rectypeYearly	(int) 4
 325
 326#define dispidConfType 0x8241
 327enum confType
 328{
 329	confNetMeeting = 0,
 330	confNetShow,
 331	confExchange
 332};
 333
 334#define dispidChangeHighlight 0x8204
 335#define BIT_CH_START		0x00000001
 336#define BIT_CH_END			0x00000002
 337#define BIT_CH_RECUR		0x00000004
 338#define BIT_CH_LOCATION		0x00000008
 339#define BIT_CH_SUBJECT		0x00000010
 340#define BIT_CH_REQATT		0x00000020
 341#define BIT_CH_OPTATT		0x00000040
 342#define BIT_CH_BODY			0x00000080
 343#define BIT_CH_CUSTOM		0x00000100
 344#define BIT_CH_SILENT		0x00000200
 345#define BIT_CH_ALLOWPROPOSE 0x00000400
 346#define BIT_CH_CONF			0x00000800
 347#define BIT_CH_ATT_REM		0x00001000
 348#define BIT_CH_NOTUSED		0x80000000
 349
 350#define dispidMeetingType 0x0026
 351#define mtgEmpty         0x00000000
 352#define mtgRequest       0x00000001
 353#define mtgFull          0x00010000
 354#define mtgInfo          0x00020000
 355#define mtgOutofDate     0x00080000
 356#define mtgDelegatorCopy 0x00100000
 357
 358#define dispidIntendedBusyStatus 0x8224
 359
 360#define PR_ATTACHMENT_FLAGS PROP_TAG(PT_LONG, 0x7FFD)
 361#define afException				0x02   // This is an exception to a recurrence
 362
 363#define dispidNonSendToTrackStatus 0x8543
 364#define dispidNonSendCcTrackStatus 0x8544
 365#define dispidNonSendBccTrackStatus 0x8545
 366
 367#define LID_CALENDAR_TYPE 0x001C
 368#define CAL_DEFAULT           0
 369#define CAL_JAPAN_LUNAR      14
 370#define CAL_CHINESE_LUNAR    15
 371#define CAL_SAKA             16
 372#define CAL_LUNAR_KOREAN     20
 373
 374// [MS-OXCMSG].pdf
 375#define dispidSideEffects 0x8510
 376#define seOpenToDelete		0x0001	// Additional processing is required on the Message object when deleting.
 377#define seNoFrame			0x0008	// No UI is associated with the Message object.
 378#define seCoerceToInbox		0x0010	// Additional processing is required on the Message object when moving or
 379// copying to a Folder object with a PR_CONTAINER_CLASS of 'IPF.Note'.
 380#define seOpenToCopy		0x0020	// Additional processing is required on the Message object when copying to
 381// another folder.
 382#define seOpenToMove		0x0040	// Additional processing is required on the Message object when moving to
 383// another folder.
 384#define seOpenForCtxMenu    0x0100  // Additional processing is required on the Message object when displaying verbs
 385// to the end-user.
 386#define seCannotUndoDelete	0x0400	// Cannot undo delete operation, MUST NOT be set unless seOpenToDelete is set.
 387#define seCannotUndoCopy	0x0800	// Cannot undo copy operation, MUST NOT be set unless seOpenToCopy is set.
 388#define seCannotUndoMove	0x1000	// Cannot undo move operation, MUST NOT be set unless seOpenToMove is set.
 389#define seHasScript			0x2000	// The Message object contains end-user script.
 390#define seOpenToPermDelete	0x4000	// Additional processing is required to permanently delete the Message object.
 391
 392// [MS-OXOCNTC].pdf
 393#define dispidFileUnderId 0x8006
 394#define dispidFileUnderList 0x8026
 395enum
 396{
 397	FILEUNDERID_NONE = 0,
 398	FILEUNDERID_CUSTOM = 0xffffffff,
 399	FILEUNDERID_CALLINIT = 0xfffffffe,
 400	FILEUNDERID_CALCULATE = 0xfffffffd
 401};
 402#define dispidLastNameAndFirstName 0x8017
 403#define dispidCompanyAndFullName 0x8018
 404#define dispidFullNameAndCompany 0x8019
 405#define dispidLastFirstNoSpace			0x8030
 406#define dispidLastFirstSpaceOnly		0x8031
 407#define dispidCompanyLastFirstNoSpace	0x8032
 408#define dispidCompanyLastFirstSpaceOnly	0x8033
 409#define dispidLastFirstNoSpaceCompany	0x8034
 410#define dispidLastFirstSpaceOnlyCompany	0x8035
 411#define dispidLastFirstAndSuffix		0x8036
 412#define dispidFirstMiddleLastSuffix		0x8037
 413#define dispidLastFirstNoSpaceAndSuffix	0x8038
 414
 415#define dispidPostalAddressId 0x8022
 416enum PostalAddressIndex
 417{
 418	ADDRESS_NONE = 0,
 419	ADDRESS_HOME,
 420	ADDRESS_WORK,
 421	ADDRESS_OTHER
 422};
 423
 424// [MS_OXOTASK].pdf
 425#define dispidTaskMode 0x8518
 426enum TaskDelegMsgType
 427{
 428	tdmtNothing = 0,	// The task object is not assigned.
 429	tdmtTaskReq,		// The task object is embedded in a task request.
 430	tdmtTaskAcc,		// The task object has been accepted by the task assignee.
 431	tdmtTaskDec,		// The task object was rejected by the task assignee.
 432	tdmtTaskUpd,		// The task object is embedded in a task update.
 433	tdmtTaskSELF		// The task object was assigned to the task assigner (self-delegation).
 434};
 435
 436#define dispidTaskStatus 0x8101
 437enum TaskStatusValue
 438{
 439	tsvNotStarted = 0, // The user has not started work on the task object. If this value is set,
 440	// dispidPercentComplete MUST be 0.0.
 441	tsvInProgress,     // The user’s work on this task object is in progress. If this value is set,
 442	// dispidPercentComplete MUST be greater than 0.0 and less than 1.0
 443	tsvComplete,       // The user’s work on this task object is complete. If this value is set,
 444	// dispidPercentComplete MUST be 1.0, dispidTaskDateCompleted
 445	// MUST be the current date, and dispidTaskComplete MUST be true.
 446	tsvWaiting,        // The user is waiting on somebody else.
 447	tsvDeferred        // The user has deferred work on the task object.
 448};
 449
 450#define dispidTaskState 0x8113
 451enum TaskDelegState
 452{
 453	tdsNOM = 0, // This task object was created to correspond to a task object that was
 454	// embedded in a task rejection but could not be found locally.
 455	tdsOWNNEW,  // The task object is not assigned.
 456	tdsOWN,     // The task object is the task assignee’s copy of an assigned task object.
 457	tdsACC,     // The task object is the task assigner’s copy of an assigned task object.
 458	tdsDEC      // The task object is the task assigner’s copy of a rejected task object.
 459};
 460
 461#define dispidTaskHistory 0x811A
 462enum TaskHistory
 463{
 464	thNone = 0,       // No changes were made.
 465	thAccepted,       // The task assignee accepted this task object.
 466	thDeclined,       // The task assignee rejected this task object.
 467	thUpdated,        // Another property was changed.
 468	thDueDateChanged, // The dispidTaskDueDate property changed.
 469	thAssigned        // The task object has been assigned to a task assignee.
 470};
 471
 472#define dispidTaskMultRecips 0x8120
 473enum TaskMultRecips
 474{
 475	tmrNone = 0x0000,	// none
 476	tmrSent = 0x0001,	// The task object has multiple primary recipients.
 477	tmrRcvd = 0x0002,	// Although the 'Sent' hint was not present, the client detected
 478	// that the task object has multiple primary recipients.
 479	tmrTeamTask = 0x0004,	// This value is reserved.
 480};
 481
 482#define dispidTaskOwnership 0x8129
 483enum TaskOwnershipValue
 484{
 485	tovNew,   // The task object is not assigned.
 486	tovDeleg, // The task object is the task assigner’s copy of the task object.
 487	tovMe     // The task object is the task assignee’s copy of the task object.
 488};
 489
 490#define dispidTaskDelegValue 0x812A
 491enum TaskDelegValue
 492{
 493	tdvNone,      // The task object is not assigned.
 494	tdvUnknown,   // The task object’s acceptance status is unknown.
 495	tdvAccepted,  // The task assignee has accepted the task object. This value is set when
 496	// the client processes a task acceptance.
 497	tdvDeclined   // The task assignee has rejected the task object. This value is set when the
 498	// client processes a task rejection.
 499};
 500
 501#define dispidLogFlags 0x870C
 502#define lfContactLog ((ULONG) 0x40000000L) // This journal object has a journal associated attachment
 503
 504// [MS-OXOMSG].pdf
 505#define dispidSniffState 0x851A
 506enum SniffState
 507{
 508	ssNone,    // Don't auto-process the message.
 509	ssOnSniff, // Process the message automatically or when the message is opened.
 510	ssOnOpen   // Process when the message is opened only.
 511};
 512
 513#define dispidNoteColor 0x8B00
 514#define ncBlue 0
 515#define ncGreen 1
 516#define ncPink 2
 517#define ncYellow 3
 518#define ncWhite	4
 519
 520// http://msdn.microsoft.com/en-us/library/bb821181.aspx
 521#define dispidTimeZoneStruct 0x8233
 522#define dispidApptTZDefStartDisplay 0x825E
 523#define dispidApptTZDefEndDisplay 0x825F
 524#define dispidApptTZDefRecur 0x8260
 525
 526#define PR_EXTENDED_FOLDER_FLAGS PROP_TAG(PT_BINARY, 0x36DA)
 527enum ExtendedFolderPropByte
 528{
 529	EFPB_FLAGS = 1,
 530	EFPB_CLSIDID = 2,
 531	EFPB_SFTAG = 3,
 532	EFPB_TODO_VERSION = 5,
 533};
 534// possible values for PR_EXTENDED_FOLDER_FLAGS
 535enum
 536{
 537	XEFF_NORMAL = 0x00000000,
 538	XEFF_SHOW_UNREAD_COUNT = 0x00000001,
 539	XEFF_SHOW_CONTENT_COUNT = 0x00000002,
 540	XEFF_SHOW_NO_POLICY = 0x00000020,
 541};
 542
 543#define dispidFlagStringEnum 0x85C0
 544
 545// [MS-OXOCAL].pdf
 546#define dispidApptRecur 0x8216
 547#define ARO_SUBJECT          0x0001
 548#define ARO_MEETINGTYPE      0x0002
 549#define ARO_REMINDERDELTA    0x0004
 550#define ARO_REMINDER         0x0008
 551#define ARO_LOCATION         0x0010
 552#define ARO_BUSYSTATUS       0x0020
 553#define ARO_ATTACHMENT       0x0040
 554#define ARO_SUBTYPE          0x0080
 555#define ARO_APPTCOLOR        0x0100
 556#define ARO_EXCEPTIONAL_BODY 0x0200
 557
 558enum IdGroup
 559{
 560	IDC_RCEV_PAT_ORB_DAILY = 0x200A,
 561	IDC_RCEV_PAT_ORB_WEEKLY,
 562	IDC_RCEV_PAT_ORB_MONTHLY,
 563	IDC_RCEV_PAT_ORB_YEARLY,
 564	IDC_RCEV_PAT_ERB_END = 0x2021,
 565	IDC_RCEV_PAT_ERB_AFTERNOCCUR,
 566	IDC_RCEV_PAT_ERB_NOEND,
 567};
 568
 569enum
 570{
 571	rptMinute = 0,
 572	rptWeek,
 573	rptMonth,
 574	rptMonthNth,
 575	rptMonthEnd,
 576	rptHjMonth = 10,
 577	rptHjMonthNth,
 578	rptHjMonthEnd
 579};
 580
 581const ULONG rpn1st = 1;
 582const ULONG rpn2nd = 2;
 583const ULONG rpn3rd = 3;
 584const ULONG rpn4th = 4;
 585const ULONG rpnLast = 5;
 586
 587const ULONG rdfSun = 0x01;
 588const ULONG rdfMon = 0x02;
 589const ULONG rdfTue = 0x04;
 590const ULONG rdfWed = 0x08;
 591const ULONG rdfThu = 0x10;
 592const ULONG rdfFri = 0x20;
 593const ULONG rdfSat = 0x40;
 594
 595// [MS-OXOTASK].pdf
 596#define dispidTaskRecur 0x8116
 597#define dispidTaskMyDelegators 0x8117
 598
 599// [MS-OXOCAL].pdf
 600#define LID_GLOBAL_OBJID 0x0003
 601#define LID_CLEAN_GLOBAL_OBJID 0x0023
 602
 603// [MS-OXOSRCH].pdf
 604#define PR_WB_SF_DEFINITION PROP_TAG(PT_BINARY, 0x6845)
 605#define PR_WB_SF_LAST_USED PROP_TAG(PT_LONG, 0x6834)
 606#define PR_WB_SF_EXPIRATION PROP_TAG(PT_LONG, 0x683A)
 607#define PT_SVREID ((ULONG) 0x00FB)
 608
 609// [MS-OXOPFFB].pdf
 610#define PR_FREEBUSY_PUBLISH_START PROP_TAG(PT_LONG, 0x6847)
 611#define PR_FREEBUSY_PUBLISH_END PROP_TAG(PT_LONG, 0x6848)
 612
 613// [MS-OSCDATA].pdf
 614#define OOP_DONT_LOOKUP ((ULONG) 0x10000000)
 615
 616// [MS-OXCDATA].pdf
 617#define eitLTPrivateFolder		(0x1) // PrivateFolder
 618#define eitLTPublicFolder		(0x3) // PublicFolder
 619#define eitLTWackyFolder		(0x5)	// MappedPublicFolder
 620#define eitLTPrivateMessage		(0x7) // PrivateMessage
 621#define eitLTPublicMessage		(0x9) // PublicMessage
 622#define eitLTWackyMessage		(0xB) // MappedPublicMessage
 623#define eitLTPublicFolderByName	(0xC) // PublicNewsgroupFolder
 624
 625// Exchange Address Book Version
 626#define EMS_VERSION         0x000000001
 627
 628// Wrapped Message Store Version
 629#define MAPIMDB_VERSION	((BYTE) 0x00)
 630
 631// Wrapped Message Store Flag
 632#define MAPIMDB_NORMAL	((BYTE) 0x00)
 633
 634// Contact Address Book Version
 635#define CONTAB_VERSION    0x000000003
 636
 637// Contact Addess Book Types
 638#define CONTAB_ROOT       0x00000001
 639#define CONTAB_SUBROOT    0x00000002
 640#define CONTAB_CONTAINER  0x00000003
 641#define CONTAB_USER       0x00000004
 642#define CONTAB_DISTLIST   0x00000005
 643
 644// Contact Address Book Index
 645enum EEmailIndex
 646{
 647	EEI_EMAIL_1 = 0,
 648	EEI_EMAIL_2,
 649	EEI_EMAIL_3,
 650	EEI_FAX_1,
 651	EEI_FAX_2,
 652	EEI_FAX_3,
 653};
 654#define EMAIL_TYPE_UNDEFINED 0xFF
 655
 656enum
 657{
 658	BFLAGS_INTERNAL_MAILUSER = 0x03,		// Outlook Contact
 659	BFLAGS_INTERNAL_DISTLIST,				// Outlook Distribution List
 660	BFLAGS_EXTERNAL_MAILUSER,				// external (MAPI) Contact
 661	BFLAGS_EXTERNAL_DISTLIST,				// external (MAPI) Distribution List
 662	BFLAGS_MASK_OUTLOOK = 0x80,		// bit pattern 1000 0000
 663};
 664
 665#define dispidEmail1OriginalEntryID 0x8085
 666#define dispidEmail2OriginalEntryID 0x8095
 667#define dispidEmail3OriginalEntryID 0x80A5
 668#define dispidFax1EntryID 0x80B5
 669#define dispidFax2EntryID 0x80C5
 670#define dispidFax3EntryID 0x80D5
 671#define dispidSelectedOriginalEntryID 0x800A
 672#define dispidAnniversaryEventEID 0x804E
 673#define dispidOrigStoreEid 0x8237
 674#define dispidReferenceEID 0x85BD
 675#define dispidSharingInitiatorEid 0x8A09
 676#define dispidSharingFolderEid 0x8A15
 677#define dispidSharingOriginalMessageEid 0x8A29
 678#define dispidSharingBindingEid 0x8A2D
 679#define dispidSharingIndexEid 0x8A2E
 680#define dispidSharingParentBindingEid 0x8A5C
 681#define dispidVerbStream 0x8520
 682
 683// Property Definition Stream
 684#define	PropDefV1			0x102
 685#define PropDefV2			0x103
 686
 687#define	PDO_IS_CUSTOM		0x00000001	// This FieldDefinition structure contains a definition of a user-defined field.
 688#define	PDO_REQUIRED		0x00000002	// For a form control bound to this field, the checkbox for A value is required for this field is selected in the Validation tab of the Properties dialog box.
 689#define PDO_PRINT_SAVEAS	0x00000004	// For a form control bound to this field, the checkbox for Include this field for printing and Save As is selected in the Validation tab of the Properties dialog box.
 690#define PDO_CALC_AUTO		0x00000008	// For a form control bound to this field, the checkbox for Calculate this formula automatically option is selected in the Value tab of the Properties dialog box.
 691#define PDO_FT_CONCAT		0x00000010	// This is a field of type Combination and it has the 'Joining fields and any text fragments with each other' option selected in its Combination Formula Field dialog.
 692#define PDO_FT_SWITCH		0x00000020	// This field is of type Combination and has the Showing only the first non-empty field, ignoring subsequent ones option selected in the Combination Formula Field dialog box.
 693#define PDO_PRINT_SAVEAS_DEF	0x000000040	// This flag is not used
 694
 695enum iTypeEnum
 696{
 697	iTypeUnknown = -1,
 698	iTypeString,		// 0
 699	iTypeNumber,		// 1
 700	iTypePercent,		// 2
 701	iTypeCurrency,		// 3
 702	iTypeBool,			// 4
 703	iTypeDateTime,		// 5
 704	iTypeDuration,		// 6
 705	iTypeCombination,	// 7
 706	iTypeFormula,		// 8
 707	iTypeIntResult,		// 9
 708	iTypeVariant,		// 10
 709	iTypeFloatResult,	// 11
 710	iTypeConcat,		// 12
 711	iTypeKeywords,		// 13
 712	iTypeInteger,		// 14
 713};
 714
 715// [MS-OXOSFLD].pdf
 716#define PR_ADDITIONAL_REN_ENTRYIDS_EX PROP_TAG( PT_BINARY, 0x36d9)
 717
 718#define		RSF_PID_TREAT_AS_SF			0x8000
 719#define		RSF_PID_RSS_SUBSCRIPTION	(RSF_PID_TREAT_AS_SF | 1)
 720#define		RSF_PID_SEND_AND_TRACK		(RSF_PID_TREAT_AS_SF | 2)
 721#define		RSF_PID_TODO_SEARCH			(RSF_PID_TREAT_AS_SF | 4)
 722#define		RSF_PID_CONV_ACTIONS		(RSF_PID_TREAT_AS_SF | 6)
 723#define		RSF_PID_COMBINED_ACTIONS	(RSF_PID_TREAT_AS_SF | 7)
 724#define		RSF_PID_SUGGESTED_CONTACTS	(RSF_PID_TREAT_AS_SF | 8)
 725
 726#define		RSF_ELID_ENTRYID			1
 727#define		RSF_ELID_HEADER				2
 728
 729#define PR_TARGET_ENTRYID PROP_TAG( PT_BINARY, 0x3010)
 730
 731#define PR_SCHDINFO_DELEGATE_ENTRYIDS PROP_TAG( PT_MV_BINARY, 0x6845)
 732
 733#define PR_EMSMDB_SECTION_UID PROP_TAG( PT_BINARY, 0x3d15)
 734
 735#define EDK_PROFILEUISTATE_ENCRYPTNETWORK 0x4000
 736
 737#define PR_CONTAB_FOLDER_ENTRYIDS PROP_TAG( PT_MV_BINARY, 0x6620)
 738#define PR_CONTAB_STORE_ENTRYIDS PROP_TAG( PT_MV_BINARY, 0x6626)
 739#define PR_CONTAB_STORE_SUPPORT_MASKS PROP_TAG( PT_MV_LONG, 0x6621)
 740#define PR_DELEGATE_FLAGS PROP_TAG( PT_MV_LONG, 0x686b)
 741
 742#define PR_EXTENDED_RULE_MSG_CONDITION PROP_TAG( PT_BINARY, 0x0E9A)
 743
 744// [MS-OXOCNTC].pdf
 745#define dispidDLOneOffMembers 0x8054
 746#define dispidDLMembers 0x8055
 747#define dispidABPEmailList 0x8028
 748#define dispidABPArrayType 0x8029
 749
 750#define PR_CONVERSATION_ID PROP_TAG( PT_BINARY, 0x3013)
 751#define PR_FOLDER_WEBVIEWINFO PROP_TAG( PT_BINARY, 0x36DF)
 752
 753#define WEBVIEW_PERSISTENCE_VERSION 0x000000002
 754#define WEBVIEWURL 0x00000001
 755#define WEBVIEW_FLAGS_SHOWBYDEFAULT 0x00000001
 756
 757#define dispidContactLinkEntry 0x8585
 758
 759#define dispidApptUnsendableRecips 0x825D
 760#define dispidForwardNotificationRecipients 0x8261
 761
 762// http://msdn.microsoft.com/en-us/library/ee218029(EXCHG.80).aspx
 763#define PR_NATIVE_BODY_INFO PROP_TAG( PT_LONG, 0x1016)
 764enum NBI
 765{
 766	nbiUndefined = 0,
 767	nbiPlainText,
 768	nbiRtfCompressed,
 769	nbiHtml,
 770	nbiClearSigned,
 771};
 772
 773#define ptagSenderFlags PROP_TAG( PT_LONG, 0x4019)
 774#define ptagSentRepresentingFlags PROP_TAG( PT_LONG, 0x401A)
 775
 776#define PR_LAST_VERB_EXECUTED PROP_TAG( PT_LONG, 0x1081)
 777#define NOTEIVERB_OPEN				0
 778#define NOTEIVERB_REPLYTOSENDER		102
 779#define NOTEIVERB_REPLYTOALL		103
 780#define NOTEIVERB_FORWARD			104
 781#define NOTEIVERB_PRINT				105
 782#define NOTEIVERB_SAVEAS			106
 783#define NOTEIVERB_REPLYTOFOLDER		108
 784#define NOTEIVERB_SAVE				500
 785#define NOTEIVERB_PROPERTIES		510
 786#define NOTEIVERB_FOLLOWUP			511
 787#define NOTEIVERB_ACCEPT			512
 788#define NOTEIVERB_TENTATIVE			513
 789#define NOTEIVERB_REJECT			514
 790#define NOTEIVERB_DECLINE			515
 791#define NOTEIVERB_INVITE			516
 792#define NOTEIVERB_UPDATE			517
 793#define NOTEIVERB_CANCEL			518
 794#define NOTEIVERB_SILENTINVITE		519
 795#define NOTEIVERB_SILENTCANCEL		520
 796#define NOTEIVERB_RECALL_MESSAGE	521
 797#define NOTEIVERB_FORWARD_RESPONSE	522
 798#define NOTEIVERB_FORWARD_CANCEL	523
 799#define NOTEIVERB_FOLLOWUPCLEAR		524
 800#define NOTEIVERB_FORWARD_APPT		525
 801#define NOTEIVERB_OPENRESEND		526
 802#define NOTEIVERB_STATUSREPORT		527
 803#define NOTEIVERB_JOURNALOPEN		528
 804#define NOTEIVERB_JOURNALOPENLINK	529
 805#define NOTEIVERB_COMPOSEREPLACE	530
 806#define NOTEIVERB_EDIT				531
 807#define NOTEIVERB_DELETEPROCESS		532
 808#define NOTEIVERB_TENTPNTIME		533
 809#define NOTEIVERB_EDITTEMPLATE		534
 810#define NOTEIVERB_FINDINCALENDAR	535
 811#define NOTEIVERB_FORWARDASFILE		536
 812#define NOTEIVERB_CHANGE_ATTENDEES	537
 813#define NOTEIVERB_RECALC_TITLE		538
 814#define NOTEIVERB_PROP_CHANGE		539
 815#define NOTEIVERB_FORWARD_AS_VCAL	540
 816#define NOTEIVERB_FORWARD_AS_ICAL	541
 817#define NOTEIVERB_FORWARD_AS_BCARD	542
 818#define NOTEIVERB_DECLPNTIME		543
 819#define NOTEIVERB_PROCESS			544
 820#define NOTEIVERB_OPENWITHWORD		545
 821#define NOTEIVERB_OPEN_INSTANCE_OF_SERIES	546
 822#define NOTEIVERB_FILLOUT_THIS_FORM	547
 823#define NOTEIVERB_FOLLOWUP_DEFAULT	548
 824#define NOTEIVERB_REPLY_WITH_MAIL	549
 825#define NOTEIVERB_TODO_TODAY		566
 826#define NOTEIVERB_TODO_TOMORROW		567
 827#define NOTEIVERB_TODO_THISWEEK		568
 828#define NOTEIVERB_TODO_NEXTWEEK		569
 829#define NOTEIVERB_TODO_THISMONTH	570
 830#define NOTEIVERB_TODO_NEXTMONTH	571
 831#define NOTEIVERB_TODO_NODATE		572
 832#define NOTEIVERB_FOLLOWUPCOMPLETE	573
 833#define NOTEIVERB_COPYTOPOSTFOLDER	574
 834#define NOTEIVERB_PARTIALRECIP_SILENTINVITE		575
 835#define NOTEIVERB_PARTIALRECIP_SILENTCANCEL		576
 836
 837#define PR_NT_USER_NAME_W CHANGE_PROP_TYPE(PR_NT_USER_NAME, PT_UNICODE)
 838
 839#define PR_PROFILE_OFFLINE_STORE_PATH_A PROP_TAG(PT_STRING8, 0x6610)
 840#define PR_PROFILE_OFFLINE_STORE_PATH_W PROP_TAG(PT_UNICODE, 0x6610)
 841
 842// Documented via widely shipped mapisvc.inf files.
 843#define CONFIG_USE_SMTP_ADDRESSES ((ULONG)0x00000040)
 844
 845#define CONFIG_OST_CACHE_PRIVATE  ((ULONG)0x00000180)
 846#define CONFIG_OST_CACHE_PUBLIC   ((ULONG)0x00000400)
 847
 848#define PR_STORE_UNICODE_MASK PROP_TAG(PT_LONG, 0x340F)
 849
 850#define PR_PST_CONFIG_FLAGS PROP_TAG(PT_LONG, 0x6770)
 851#define PST_CONFIG_CREATE_NOWARN           0x00000001
 852#define	PST_CONFIG_PRESERVE_DISPLAY_NAME   0x00000002
 853#define OST_CONFIG_POLICY_DELAY_IGNORE_OST 0x00000008
 854#define OST_CONFIG_CREATE_NEW_DEFAULT_OST  0x00000010
 855#define PST_CONFIG_UNICODE                 0x80000000
 856
 857// http://msdn.microsoft.com/en-us/library/dd941354.aspx
 858#define dispidImgAttchmtsCompressLevel 0x8593
 859enum PictureCompressLevel
 860{
 861	pclOriginal = 0,
 862	pclEmail = 1,
 863	pclWeb = 2,
 864	pclDocuments = 3,
 865};
 866
 867// http://msdn.microsoft.com/en-us/library/dd941362.aspx
 868#define dispidOfflineStatus 0x85B9
 869enum MSOCOST
 870{
 871	costNil,
 872	costCheckedOut,
 873	costSimpleOffline
 874};
 875
 876// http://msdn.microsoft.com/en-us/library/ff368035(EXCHG.80).aspx
 877#define dispidClientIntent 0x0015
 878enum ClientIntent
 879{
 880	ciNone = 0x0000,
 881	ciManager = 0x0001,
 882	ciDelegate = 0x0002,
 883	ciDeletedWithNoResponse = 0x0004,
 884	ciDeletedExceptionWithNoResponse = 0x0008,
 885	ciRespondedTentative = 0x0010,
 886	ciRespondedAccept = 0x0020,
 887	ciRespondedDecline = 0x0040,
 888	ciModifiedStartTime = 0x0080,
 889	ciModifiedEndTime = 0x0100,
 890	ciModifiedLocation = 0x0200,
 891	ciRespondedExceptionDecline = 0x0400,
 892	ciCanceled = 0x0800,
 893	ciExceptionCanceled = 0x1000,
 894};
 895
 896// http://support.microsoft.com/kb/278321
 897#define INTERNET_FORMAT_DEFAULT 0
 898#define INTERNET_FORMAT_MIME 1
 899#define INTERNET_FORMAT_UUENCODE 2
 900#define INTERNET_FORMAT_BINHEX 3
 901
 902// http://msdn.microsoft.com/en-us/library/cc765809.aspx
 903#define dispidContactItemData 0x8007
 904#define	dispidEmail1DisplayName 0x8080
 905#define	dispidEmail2DisplayName 0x8090
 906#define	dispidEmail3DisplayName 0x80A0
 907
 908// http://blogs.msdn.com/b/stephen_griffin/archive/2010/09/13/you-chose-wisely.aspx
 909#define PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY PROP_TAG( PT_BOOLEAN, 0x3D1C)
 910
 911// http://blogs.msdn.com/b/stephen_griffin/archive/2011/04/13/setsearchpath-not-really.aspx
 912enum SearchPathReorderType
 913{
 914	SEARCHPATHREORDERTYPE_RAW = 0,
 915	SEARCHPATHREORDERTYPE_ACCT_PREFERGAL,
 916	SEARCHPATHREORDERTYPE_ACCT_PREFERCONTACTS,
 917};
 918
 919#define PR_USERFIELDS PROP_TAG( PT_BINARY, 0x36E3)
 920
 921#define ftNull        0x00
 922#define ftString      0x01
 923#define ftInteger     0x03
 924// This definition conflicts with Windows headers.
 925// Was only use for Flags.h and we can handle that differently.
 926// Definition left commened for reference
 927//#define ftTime        0x05
 928#define ftBoolean     0x06
 929#define ftDuration    0x07
 930#define ftMultiString 0x0B
 931#define ftFloat       0x0C
 932#define ftCurrency    0x0E
 933#define ftCalc        0x12
 934#define ftSwitch      0x13
 935#define ftConcat      0x17
 936
 937#define FCAPM_CAN_EDIT			0x00000001	// field is editable
 938#define FCAPM_CAN_SORT			0x00000002	// field is sortable
 939#define FCAPM_CAN_GROUP			0x00000004	// Field is groupable
 940#define FCAPM_MULTILINE_TEXT	0x00000100	// can hold multiple lines of text
 941#define FCAPM_PERCENT			0x01000000	// FLOAT this is a percentage field
 942#define FCAPM_DATEONLY			0x01000000	// TIME a date-only 'time' field
 943#define FCAPM_UNITLESS			0x01000000	// INT no unit allowed in display
 944#define FCAPM_CAN_EDIT_IN_ITEM	0x80000000	// Field can be edited in the item (specifically for custom forms)
 945
 946#define PR_SPAM_THRESHOLD PROP_TAG(PT_LONG, 0x041B)
 947#define SPAM_FILTERING_NONE						0xFFFFFFFF
 948#define SPAM_FILTERING_LOW						0x00000006
 949#define SPAM_FILTERING_MEDIUM					0x00000005
 950#define SPAM_FILTERING_HIGH						0x00000003
 951#define SPAM_FILTERING_TRUSTED_ONLY				0x80000000
 952
 953// Constants - http://msdn2.microsoft.com/en-us/library/bb905201.aspx
 954#define CCSF_SMTP             0x0002 // the converter is being passed an SMTP message
 955#define CCSF_NOHEADERS        0x0004 // the converter should ignore the headers on the outside message
 956#define CCSF_USE_TNEF         0x0010 // the converter should embed TNEF in the MIME message
 957#define CCSF_INCLUDE_BCC      0x0020 // the converter should include Bcc recipients
 958#define CCSF_8BITHEADERS      0x0040 // the converter should allow 8 bit headers
 959#define CCSF_USE_RTF          0x0080 // the converter should do HTML->RTF conversion
 960#define CCSF_PLAIN_TEXT_ONLY  0x1000 // the converter should just send plain text
 961#define CCSF_NO_MSGID         0x4000 // don't include Message-Id field in outgoing messages
 962#define CCSF_EMBEDDED_MESSAGE 0x8000 // sent/unsent information is persisted in X-Unsent
 963#define CCSF_PRESERVE_SOURCE  0x40000 // don't modify the source message
 964
 965#define PidTagFolderId PROP_TAG(PT_I8, 0x6748)
 966#define PidTagMid PROP_TAG(PT_I8, 0x674A)
 967
 968#define MDB_STORE_EID_V1_VERSION (0x0)
 969#define MDB_STORE_EID_V2_VERSION (0x1)
 970#define MDB_STORE_EID_V3_VERSION (0x2)
 971#define MDB_STORE_EID_V2_MAGIC (0xf32135d8)
 972#define MDB_STORE_EID_V3_MAGIC (0xf43246e9)
 973
 974// http://blogs.msdn.com/b/dvespa/archive/2009/03/16/how-to-sign-or-encrypt-a-message-programmatically-from-oom.aspx
 975#define PR_SECURITY_FLAGS       PROP_TAG(PT_LONG, 0x6E01)
 976#define SECFLAG_NONE            0x0000       // Message has no security
 977#define SECFLAG_ENCRYPTED       0x0001       // Message is sealed
 978#define SECFLAG_SIGNED          0x0002       // Message is signed
 979
 980#define PR_ROAMING_BINARYSTREAM PROP_TAG(PT_BINARY, 0x7C09)
 981
 982#define PR_PROHIBIT_RECEIVE_QUOTA PROP_TAG( PT_LONG, 0x666A)
 983#define PR_QUOTA_WARNING PROP_TAG( PT_LONG, 0x341A)
 984#define PR_QUOTA_SEND    PROP_TAG( PT_LONG, 0x341B)
 985#define PR_QUOTA_RECEIVE PROP_TAG( PT_LONG, 0x341C)
 986
 987#define PR_SCHDINFO_APPT_TOMBSTONE PROP_TAG( PT_BINARY, 0x686A)
 988
 989#define PRXF_IGNORE_SEC_WARNING 0x10
 990
 991#define PR_WLINK_AB_EXSTOREEID PROP_TAG(PT_BINARY, 0x6891)
 992#define PR_WLINK_ABEID PROP_TAG(PT_BINARY, 0x6854)
 993#define PR_WLINK_ENTRYID PROP_TAG(PT_BINARY, 0x684C)
 994#define PR_WLINK_STORE_ENTRYID PROP_TAG(PT_BINARY, 0x684E)
 995#define PR_WLINK_RO_GROUP_TYPE PROP_TAG(PT_LONG, 0x6892)
 996#define PR_WLINK_SECTION PROP_TAG(PT_LONG, 0x6852)
 997#define PR_WLINK_TYPE PROP_TAG(PT_LONG, 0x6849)
 998#define PR_WLINK_FLAGS PROP_TAG(PT_LONG, 0x684A)
 999
1000enum WBROGroupType {
1001	wbrogUndefined = -1,
1002	wbrogMyDepartment = 0,
1003	wbrogOtherDepartment,
1004	wbrogDirectReportGroup,
1005	wbrogCoworkerGroup,
1006	wbrogDL,
1007};
1008
1009enum WBSID {
1010	wbsidMailFavorites = 1,
1011	wbsidCalendar = 3,
1012	wbsidContacts,
1013	wbsidTasks,
1014	wbsidNotes,
1015	wbsidJournal,
1016};
1017
1018enum WLinkType {
1019	wblNormalFolder = 0,
1020	wblSearchFolder = 1,
1021	wblSharedFolder = 2,
1022	wblHeader = 4,
1023};
1024
1025#define sipPublicFolder     0x00000001
1026#define sipImapFolder       0x00000004
1027#define sipWebDavFolder     0x00000008
1028#define sipSharePointFolder 0x00000010
1029#define sipRootFolder       0x00000020
1030#define sipSharedOut        0x00000100
1031#define sipSharedIn         0x00000200
1032#define sipPersonFolder     0x00000400
1033#define sipiCal             0x00000800
1034#define sipOverlay          0x00001000
1035#define sipOneOffName       0x00002000
1036
1037#define dispidConvActionMoveFolderEid 0x85C6
1038#define dispidConvActionMoveStoreEid 0x85C7
1039
1040#define PR_RETENTION_FLAGS PROP_TAG(PT_LONG, 0x301D)
1041#define RETENTION_FLAGS_EXPLICIT         ((ULONG)0x00000001)
1042#define RETENTION_FLAGS_TAG_CHANGED      ((ULONG)0x00000002)
1043#define RETENTION_FLAGS_AUTOTAG          ((ULONG)0x00000004)
1044#define RETENTION_FLAGS_PERSONAL         ((ULONG)0x00000008)
1045#define RETENTION_FLAGS_EXPLICIT_ARCHIVE ((ULONG)0x00000010)
1046#define RETENTION_FLAGS_KEEP_IN_PLACE    ((ULONG)0x00000020)
1047#define RETENTION_FLAGS_SYSTEM_DATA      ((ULONG)0X00000040)
1048#define RETENTION_FLAGS_NEEDS_RESCAN     ((ULONG)0X00000080)
1049#define RETENTION_FLAGS_PENDING_RESCAN   ((ULONG)0X00000100)
1050
1051#define PR_SORT_POSITION PROP_TAG( PT_BINARY, 0x3020)
1052#define PR_SORT_PARENTID PROP_TAG( PT_BINARY, 0x3021)
1053
1054#define PR_PROFILE_MDB_DN PROP_TAG(PT_STRING8, 0x7CFF)
1055#define PR_FORCE_USE_ENTRYID_SERVER PROP_TAG(PT_BOOLEAN, 0x7CFE)
1056
1057#define PR_EMS_AB_THUMBNAIL_PHOTO PROP_TAG(PT_BINARY, 0x8C9E)
1058
1059#define OUTL_RPC_AUTHN_ANONYMOUS 0x8000F001
1060
1061#define PR_CONTENT_FILTER_SCL PROP_TAG(PT_LONG, 0x4076)