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