WabTags.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:32k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*
  2.  *  WABTAGS.H
  3.  *
  4.  *  Property tag definitions for standard properties of WAB
  5.  *  objects.
  6.  *
  7.  *  The following ranges should be used for all property IDs. Note that
  8.  *  property IDs for objects other than messages and recipients should
  9.  *  all fall in the range 0x3000 to 0x3FFF:
  10.  *
  11.  *  From    To      Kind of property
  12.  *  --------------------------------
  13.  *  0001    0BFF    MAPI_defined envelope property
  14.  *  0C00    0DFF    MAPI_defined per-recipient property
  15.  *  0E00    0FFF    MAPI_defined non-transmittable property
  16.  *  1000    2FFF    MAPI_defined message content property
  17.  *
  18.  *  3000    3FFF    MAPI_defined property (usually not message or recipient)
  19.  *
  20.  *  4000    57FF    Transport-defined envelope property
  21.  *  5800    5FFF    Transport-defined per-recipient property
  22.  *  6000    65FF    User-defined non-transmittable property
  23.  *  6600    67FF    Provider-defined internal non-transmittable property
  24.  *  6800    7BFF    Message class-defined content property
  25.  *  7C00    7FFF    Message class-defined non-transmittable
  26.  *                  property
  27.  *
  28.  *  8000    FFFE    User-defined Name-to-id mapped property
  29.  *
  30.  *  The 3000-3FFF range is further subdivided as follows:
  31.  *
  32.  *  From    To      Kind of property
  33.  *  --------------------------------
  34.  *  3000    33FF    Common property such as display name, entry ID
  35.  *  3400    35FF    Message store object
  36.  *  3600    36FF    Folder or AB container
  37.  *  3700    38FF    Attachment
  38.  *  3900    39FF    Address book object
  39.  *  3A00    3BFF    Mail user
  40.  *  3C00    3CFF    Distribution list
  41.  *  3D00    3DFF    Profile section
  42.  *  3E00    3FFF    Status object
  43.  *
  44.  *  Copyright 1993-1998 Microsoft Corporation. All Rights Reserved.
  45.  */
  46. #if !defined(MAPITAGS_H) && !defined(WABTAGS_H)
  47. #define WABTAGS_H
  48. /* Determine if a property is transmittable. */
  49. #define FIsTransmittable(ulPropTag) 
  50.     ((PROP_ID (ulPropTag) <  (ULONG)0x0E00) || 
  51.     (PROP_ID (ulPropTag)  >= (ULONG)0x8000) || 
  52.     ((PROP_ID (ulPropTag) >= (ULONG)0x1000) && (PROP_ID (ulPropTag) < (ULONG)0x6000)) || 
  53.     ((PROP_ID (ulPropTag) >= (ULONG)0x6800) && (PROP_ID (ulPropTag) < (ULONG)0x7C00)))
  54. /*
  55.  * The range of non-message and non-recipient property IDs (0x3000 - 0x3FFF) is
  56.  * further broken down into ranges to make assigning new property IDs easier.
  57.  *
  58.  *  From    To      Kind of property
  59.  *  --------------------------------
  60.  *  3000    32FF    MAPI_defined common property
  61.  *  3200    33FF    MAPI_defined form property
  62.  *  3400    35FF    MAPI_defined message store property
  63.  *  3600    36FF    MAPI_defined Folder or AB Container property
  64.  *  3700    38FF    MAPI_defined attachment property
  65.  *  3900    39FF    MAPI_defined address book property
  66.  *  3A00    3BFF    MAPI_defined mailuser property
  67.  *  3C00    3CFF    MAPI_defined DistList property
  68.  *  3D00    3DFF    MAPI_defined Profile Section property
  69.  *  3E00    3EFF    MAPI_defined Status property
  70.  *  3F00    3FFF    MAPI_defined display table property
  71.  */
  72. /*
  73.  *  Properties common to numerous MAPI objects.
  74.  *
  75.  *  Those properties that can appear on messages are in the
  76.  *  non-transmittable range for messages. They start at the high
  77.  *  end of that range and work down.
  78.  *
  79.  *  Properties that never appear on messages are defined in the common
  80.  *  property range (see above).
  81.  */
  82. /*
  83.  * properties that are common to multiple objects (including message objects)
  84.  * -- these ids are in the non-transmittable range
  85.  */
  86. #define PR_ENTRYID                                  PROP_TAG( PT_BINARY,    0x0FFF)
  87. #define PR_OBJECT_TYPE                              PROP_TAG( PT_LONG,      0x0FFE)
  88. #define PR_ICON                                     PROP_TAG( PT_BINARY,    0x0FFD)
  89. #define PR_MINI_ICON                                PROP_TAG( PT_BINARY,    0x0FFC)
  90. #define PR_STORE_ENTRYID                            PROP_TAG( PT_BINARY,    0x0FFB)
  91. #define PR_STORE_RECORD_KEY                         PROP_TAG( PT_BINARY,    0x0FFA)
  92. #define PR_RECORD_KEY                               PROP_TAG( PT_BINARY,    0x0FF9)
  93. #define PR_MAPPING_SIGNATURE                        PROP_TAG( PT_BINARY,    0x0FF8)
  94. #define PR_ACCESS_LEVEL                             PROP_TAG( PT_LONG,      0x0FF7)
  95. #define PR_INSTANCE_KEY                             PROP_TAG( PT_BINARY,    0x0FF6)
  96. #define PR_ROW_TYPE                                 PROP_TAG( PT_LONG,      0x0FF5)
  97. #define PR_ACCESS                                   PROP_TAG( PT_LONG,      0x0FF4)
  98. /*
  99.  * properties that are common to multiple objects (usually not including message objects)
  100.  * -- these ids are in the transmittable range
  101.  */
  102. #define PR_ROWID                                    PROP_TAG( PT_LONG,      0x3000)
  103. #define PR_DISPLAY_NAME                             PROP_TAG( PT_TSTRING,   0x3001)
  104. #define PR_DISPLAY_NAME_W                           PROP_TAG( PT_UNICODE,   0x3001)
  105. #define PR_DISPLAY_NAME_A                           PROP_TAG( PT_STRING8,   0x3001)
  106. #define PR_ADDRTYPE                                 PROP_TAG( PT_TSTRING,   0x3002)
  107. #define PR_ADDRTYPE_W                               PROP_TAG( PT_UNICODE,   0x3002)
  108. #define PR_ADDRTYPE_A                               PROP_TAG( PT_STRING8,   0x3002)
  109. #define PR_EMAIL_ADDRESS                            PROP_TAG( PT_TSTRING,   0x3003)
  110. #define PR_EMAIL_ADDRESS_W                          PROP_TAG( PT_UNICODE,   0x3003)
  111. #define PR_EMAIL_ADDRESS_A                          PROP_TAG( PT_STRING8,   0x3003)
  112. #define PR_COMMENT                                  PROP_TAG( PT_TSTRING,   0x3004)
  113. #define PR_COMMENT_W                                PROP_TAG( PT_UNICODE,   0x3004)
  114. #define PR_COMMENT_A                                PROP_TAG( PT_STRING8,   0x3004)
  115. #define PR_DEPTH                                    PROP_TAG( PT_LONG,      0x3005)
  116. #define PR_PROVIDER_DISPLAY                         PROP_TAG( PT_TSTRING,   0x3006)
  117. #define PR_PROVIDER_DISPLAY_W                       PROP_TAG( PT_UNICODE,   0x3006)
  118. #define PR_PROVIDER_DISPLAY_A                       PROP_TAG( PT_STRING8,   0x3006)
  119. #define PR_CREATION_TIME                            PROP_TAG( PT_SYSTIME,   0x3007)
  120. #define PR_LAST_MODIFICATION_TIME                   PROP_TAG( PT_SYSTIME,   0x3008)
  121. #define PR_RESOURCE_FLAGS                           PROP_TAG( PT_LONG,      0x3009)
  122. #define PR_PROVIDER_DLL_NAME                        PROP_TAG( PT_TSTRING,   0x300A)
  123. #define PR_PROVIDER_DLL_NAME_W                      PROP_TAG( PT_UNICODE,   0x300A)
  124. #define PR_PROVIDER_DLL_NAME_A                      PROP_TAG( PT_STRING8,   0x300A)
  125. #define PR_SEARCH_KEY                               PROP_TAG( PT_BINARY,    0x300B)
  126. #define PR_PROVIDER_UID                             PROP_TAG( PT_BINARY,    0x300C)
  127. #define PR_PROVIDER_ORDINAL                         PROP_TAG( PT_LONG,      0x300D)
  128. /* Proptags 35E8-35FF reserved for folders "guaranteed" by PR_VALID_FOLDER_MASK */
  129. /*
  130.  *  Folder and AB Container properties
  131.  */
  132. #define PR_CONTAINER_FLAGS                          PROP_TAG( PT_LONG,      0x3600)
  133. #define PR_FOLDER_TYPE                              PROP_TAG( PT_LONG,      0x3601)
  134. #define PR_CONTENT_COUNT                            PROP_TAG( PT_LONG,      0x3602)
  135. #define PR_CONTENT_UNREAD                           PROP_TAG( PT_LONG,      0x3603)
  136. #define PR_CREATE_TEMPLATES                         PROP_TAG( PT_OBJECT,    0x3604)
  137. #define PR_DETAILS_TABLE                            PROP_TAG( PT_OBJECT,    0x3605)
  138. #define PR_SEARCH                                   PROP_TAG( PT_OBJECT,    0x3607)
  139. #define PR_SELECTABLE                               PROP_TAG( PT_BOOLEAN,   0x3609)
  140. #define PR_SUBFOLDERS                               PROP_TAG( PT_BOOLEAN,   0x360a)
  141. #define PR_STATUS                                   PROP_TAG( PT_LONG,      0x360b)
  142. #define PR_ANR                                      PROP_TAG( PT_TSTRING,   0x360c)
  143. #define PR_ANR_W                                    PROP_TAG( PT_UNICODE,   0x360c)
  144. #define PR_ANR_A                                    PROP_TAG( PT_STRING8,   0x360c)
  145. #define PR_CONTENTS_SORT_ORDER                      PROP_TAG( PT_MV_LONG,   0x360d)
  146. #define PR_CONTAINER_HIERARCHY                      PROP_TAG( PT_OBJECT,    0x360e)
  147. #define PR_CONTAINER_CONTENTS                       PROP_TAG( PT_OBJECT,    0x360f)
  148. #define PR_FOLDER_ASSOCIATED_CONTENTS               PROP_TAG( PT_OBJECT,    0x3610)
  149. #define PR_DEF_CREATE_DL                            PROP_TAG( PT_BINARY,    0x3611)
  150. #define PR_DEF_CREATE_MAILUSER                      PROP_TAG( PT_BINARY,    0x3612)
  151. #define PR_CONTAINER_CLASS                          PROP_TAG( PT_TSTRING,   0x3613)
  152. #define PR_CONTAINER_CLASS_W                        PROP_TAG( PT_UNICODE,   0x3613)
  153. #define PR_CONTAINER_CLASS_A                        PROP_TAG( PT_STRING8,   0x3613)
  154. #define PR_CONTAINER_MODIFY_VERSION                 PROP_TAG( PT_I8,        0x3614)
  155. #define PR_AB_PROVIDER_ID                           PROP_TAG( PT_BINARY,    0x3615)
  156. #define PR_DEFAULT_VIEW_ENTRYID                     PROP_TAG( PT_BINARY,    0x3616)
  157. #define PR_ASSOC_CONTENT_COUNT                      PROP_TAG( PT_LONG,      0x3617)
  158. /* Don't use 36FE and 36FF */
  159. /*
  160.  *  AB Object properties
  161.  */
  162. #define PR_DISPLAY_TYPE                             PROP_TAG( PT_LONG,      0x3900)
  163. #define PR_TEMPLATEID                               PROP_TAG( PT_BINARY,    0x3902)
  164. #define PR_PRIMARY_CAPABILITY                       PROP_TAG( PT_BINARY,    0x3904)
  165. #define PR_7BIT_DISPLAY_NAME                        PROP_TAG( PT_STRING8,   0x39FF)
  166. /*
  167.  *  Mail user properties
  168.  */
  169. #define PR_ACCOUNT                                  PROP_TAG( PT_TSTRING,   0x3A00)
  170. #define PR_ACCOUNT_W                                PROP_TAG( PT_UNICODE,   0x3A00)
  171. #define PR_ACCOUNT_A                                PROP_TAG( PT_STRING8,   0x3A00)
  172. #define PR_ALTERNATE_RECIPIENT                      PROP_TAG( PT_BINARY,    0x3A01)
  173. #define PR_CALLBACK_TELEPHONE_NUMBER                PROP_TAG( PT_TSTRING,   0x3A02)
  174. #define PR_CALLBACK_TELEPHONE_NUMBER_W              PROP_TAG( PT_UNICODE,   0x3A02)
  175. #define PR_CALLBACK_TELEPHONE_NUMBER_A              PROP_TAG( PT_STRING8,   0x3A02)
  176. #define PR_CONVERSION_PROHIBITED                    PROP_TAG( PT_BOOLEAN,   0x3A03)
  177. #define PR_DISCLOSE_RECIPIENTS                      PROP_TAG( PT_BOOLEAN,   0x3A04)
  178. #define PR_GENERATION                               PROP_TAG( PT_TSTRING,   0x3A05)
  179. #define PR_GENERATION_W                             PROP_TAG( PT_UNICODE,   0x3A05)
  180. #define PR_GENERATION_A                             PROP_TAG( PT_STRING8,   0x3A05)
  181. #define PR_GIVEN_NAME                               PROP_TAG( PT_TSTRING,   0x3A06)
  182. #define PR_GIVEN_NAME_W                             PROP_TAG( PT_UNICODE,   0x3A06)
  183. #define PR_GIVEN_NAME_A                             PROP_TAG( PT_STRING8,   0x3A06)
  184. #define PR_GOVERNMENT_ID_NUMBER                     PROP_TAG( PT_TSTRING,   0x3A07)
  185. #define PR_GOVERNMENT_ID_NUMBER_W                   PROP_TAG( PT_UNICODE,   0x3A07)
  186. #define PR_GOVERNMENT_ID_NUMBER_A                   PROP_TAG( PT_STRING8,   0x3A07)
  187. #define PR_BUSINESS_TELEPHONE_NUMBER                PROP_TAG( PT_TSTRING,   0x3A08)
  188. #define PR_BUSINESS_TELEPHONE_NUMBER_W              PROP_TAG( PT_UNICODE,   0x3A08)
  189. #define PR_BUSINESS_TELEPHONE_NUMBER_A              PROP_TAG( PT_STRING8,   0x3A08)
  190. #define PR_OFFICE_TELEPHONE_NUMBER                  PR_BUSINESS_TELEPHONE_NUMBER
  191. #define PR_OFFICE_TELEPHONE_NUMBER_W                PR_BUSINESS_TELEPHONE_NUMBER_W
  192. #define PR_OFFICE_TELEPHONE_NUMBER_A                PR_BUSINESS_TELEPHONE_NUMBER_A
  193. #define PR_HOME_TELEPHONE_NUMBER                    PROP_TAG( PT_TSTRING,   0x3A09)
  194. #define PR_HOME_TELEPHONE_NUMBER_W                  PROP_TAG( PT_UNICODE,   0x3A09)
  195. #define PR_HOME_TELEPHONE_NUMBER_A                  PROP_TAG( PT_STRING8,   0x3A09)
  196. #define PR_INITIALS                                 PROP_TAG( PT_TSTRING,   0x3A0A)
  197. #define PR_INITIALS_W                               PROP_TAG( PT_UNICODE,   0x3A0A)
  198. #define PR_INITIALS_A                               PROP_TAG( PT_STRING8,   0x3A0A)
  199. #define PR_KEYWORD                                  PROP_TAG( PT_TSTRING,   0x3A0B)
  200. #define PR_KEYWORD_W                                PROP_TAG( PT_UNICODE,   0x3A0B)
  201. #define PR_KEYWORD_A                                PROP_TAG( PT_STRING8,   0x3A0B)
  202. #define PR_LANGUAGE                                 PROP_TAG( PT_TSTRING,   0x3A0C)
  203. #define PR_LANGUAGE_W                               PROP_TAG( PT_UNICODE,   0x3A0C)
  204. #define PR_LANGUAGE_A                               PROP_TAG( PT_STRING8,   0x3A0C)
  205. #define PR_LOCATION                                 PROP_TAG( PT_TSTRING,   0x3A0D)
  206. #define PR_LOCATION_W                               PROP_TAG( PT_UNICODE,   0x3A0D)
  207. #define PR_LOCATION_A                               PROP_TAG( PT_STRING8,   0x3A0D)
  208. #define PR_MAIL_PERMISSION                          PROP_TAG( PT_BOOLEAN,   0x3A0E)
  209. #define PR_MHS_COMMON_NAME                          PROP_TAG( PT_TSTRING,   0x3A0F)
  210. #define PR_MHS_COMMON_NAME_W                        PROP_TAG( PT_UNICODE,   0x3A0F)
  211. #define PR_MHS_COMMON_NAME_A                        PROP_TAG( PT_STRING8,   0x3A0F)
  212. #define PR_ORGANIZATIONAL_ID_NUMBER                 PROP_TAG( PT_TSTRING,   0x3A10)
  213. #define PR_ORGANIZATIONAL_ID_NUMBER_W               PROP_TAG( PT_UNICODE,   0x3A10)
  214. #define PR_ORGANIZATIONAL_ID_NUMBER_A               PROP_TAG( PT_STRING8,   0x3A10)
  215. #define PR_SURNAME                                  PROP_TAG( PT_TSTRING,   0x3A11)
  216. #define PR_SURNAME_W                                PROP_TAG( PT_UNICODE,   0x3A11)
  217. #define PR_SURNAME_A                                PROP_TAG( PT_STRING8,   0x3A11)
  218. #define PR_ORIGINAL_ENTRYID                         PROP_TAG( PT_BINARY,    0x3A12)
  219. #define PR_ORIGINAL_DISPLAY_NAME                    PROP_TAG( PT_TSTRING,   0x3A13)
  220. #define PR_ORIGINAL_DISPLAY_NAME_W                  PROP_TAG( PT_UNICODE,   0x3A13)
  221. #define PR_ORIGINAL_DISPLAY_NAME_A                  PROP_TAG( PT_STRING8,   0x3A13)
  222. #define PR_ORIGINAL_SEARCH_KEY                      PROP_TAG( PT_BINARY,    0x3A14)
  223. #define PR_POSTAL_ADDRESS                           PROP_TAG( PT_TSTRING,   0x3A15)
  224. #define PR_POSTAL_ADDRESS_W                         PROP_TAG( PT_UNICODE,   0x3A15)
  225. #define PR_POSTAL_ADDRESS_A                         PROP_TAG( PT_STRING8,   0x3A15)
  226. #define PR_COMPANY_NAME                             PROP_TAG( PT_TSTRING,   0x3A16)
  227. #define PR_COMPANY_NAME_W                           PROP_TAG( PT_UNICODE,   0x3A16)
  228. #define PR_COMPANY_NAME_A                           PROP_TAG( PT_STRING8,   0x3A16)
  229. #define PR_TITLE                                    PROP_TAG( PT_TSTRING,   0x3A17)
  230. #define PR_TITLE_W                                  PROP_TAG( PT_UNICODE,   0x3A17)
  231. #define PR_TITLE_A                                  PROP_TAG( PT_STRING8,   0x3A17)
  232. #define PR_DEPARTMENT_NAME                          PROP_TAG( PT_TSTRING,   0x3A18)
  233. #define PR_DEPARTMENT_NAME_W                        PROP_TAG( PT_UNICODE,   0x3A18)
  234. #define PR_DEPARTMENT_NAME_A                        PROP_TAG( PT_STRING8,   0x3A18)
  235. #define PR_OFFICE_LOCATION                          PROP_TAG( PT_TSTRING,   0x3A19)
  236. #define PR_OFFICE_LOCATION_W                        PROP_TAG( PT_UNICODE,   0x3A19)
  237. #define PR_OFFICE_LOCATION_A                        PROP_TAG( PT_STRING8,   0x3A19)
  238. #define PR_PRIMARY_TELEPHONE_NUMBER                 PROP_TAG( PT_TSTRING,   0x3A1A)
  239. #define PR_PRIMARY_TELEPHONE_NUMBER_W               PROP_TAG( PT_UNICODE,   0x3A1A)
  240. #define PR_PRIMARY_TELEPHONE_NUMBER_A               PROP_TAG( PT_STRING8,   0x3A1A)
  241. #define PR_BUSINESS2_TELEPHONE_NUMBER               PROP_TAG( PT_TSTRING,   0x3A1B)
  242. #define PR_BUSINESS2_TELEPHONE_NUMBER_W             PROP_TAG( PT_UNICODE,   0x3A1B)
  243. #define PR_BUSINESS2_TELEPHONE_NUMBER_A             PROP_TAG( PT_STRING8,   0x3A1B)
  244. #define PR_OFFICE2_TELEPHONE_NUMBER                 PR_BUSINESS2_TELEPHONE_NUMBER
  245. #define PR_OFFICE2_TELEPHONE_NUMBER_W               PR_BUSINESS2_TELEPHONE_NUMBER_W
  246. #define PR_OFFICE2_TELEPHONE_NUMBER_A               PR_BUSINESS2_TELEPHONE_NUMBER_A
  247. #define PR_MOBILE_TELEPHONE_NUMBER                  PROP_TAG( PT_TSTRING,   0x3A1C)
  248. #define PR_MOBILE_TELEPHONE_NUMBER_W                PROP_TAG( PT_UNICODE,   0x3A1C)
  249. #define PR_MOBILE_TELEPHONE_NUMBER_A                PROP_TAG( PT_STRING8,   0x3A1C)
  250. #define PR_CELLULAR_TELEPHONE_NUMBER                PR_MOBILE_TELEPHONE_NUMBER
  251. #define PR_CELLULAR_TELEPHONE_NUMBER_W              PR_MOBILE_TELEPHONE_NUMBER_W
  252. #define PR_CELLULAR_TELEPHONE_NUMBER_A              PR_MOBILE_TELEPHONE_NUMBER_A
  253. #define PR_RADIO_TELEPHONE_NUMBER                   PROP_TAG( PT_TSTRING,   0x3A1D)
  254. #define PR_RADIO_TELEPHONE_NUMBER_W                 PROP_TAG( PT_UNICODE,   0x3A1D)
  255. #define PR_RADIO_TELEPHONE_NUMBER_A                 PROP_TAG( PT_STRING8,   0x3A1D)
  256. #define PR_CAR_TELEPHONE_NUMBER                     PROP_TAG( PT_TSTRING,   0x3A1E)
  257. #define PR_CAR_TELEPHONE_NUMBER_W                   PROP_TAG( PT_UNICODE,   0x3A1E)
  258. #define PR_CAR_TELEPHONE_NUMBER_A                   PROP_TAG( PT_STRING8,   0x3A1E)
  259. #define PR_OTHER_TELEPHONE_NUMBER                   PROP_TAG( PT_TSTRING,   0x3A1F)
  260. #define PR_OTHER_TELEPHONE_NUMBER_W                 PROP_TAG( PT_UNICODE,   0x3A1F)
  261. #define PR_OTHER_TELEPHONE_NUMBER_A                 PROP_TAG( PT_STRING8,   0x3A1F)
  262. #define PR_TRANSMITABLE_DISPLAY_NAME                PROP_TAG( PT_TSTRING,   0x3A20)
  263. #define PR_TRANSMITABLE_DISPLAY_NAME_W              PROP_TAG( PT_UNICODE,   0x3A20)
  264. #define PR_TRANSMITABLE_DISPLAY_NAME_A              PROP_TAG( PT_STRING8,   0x3A20)
  265. #define PR_PAGER_TELEPHONE_NUMBER                   PROP_TAG( PT_TSTRING,   0x3A21)
  266. #define PR_PAGER_TELEPHONE_NUMBER_W                 PROP_TAG( PT_UNICODE,   0x3A21)
  267. #define PR_PAGER_TELEPHONE_NUMBER_A                 PROP_TAG( PT_STRING8,   0x3A21)
  268. #define PR_BEEPER_TELEPHONE_NUMBER                  PR_PAGER_TELEPHONE_NUMBER
  269. #define PR_BEEPER_TELEPHONE_NUMBER_W                PR_PAGER_TELEPHONE_NUMBER_W
  270. #define PR_BEEPER_TELEPHONE_NUMBER_A                PR_PAGER_TELEPHONE_NUMBER_A
  271. #define PR_USER_CERTIFICATE                         PROP_TAG( PT_BINARY,    0x3A22)
  272. #define PR_PRIMARY_FAX_NUMBER                       PROP_TAG( PT_TSTRING,   0x3A23)
  273. #define PR_PRIMARY_FAX_NUMBER_W                     PROP_TAG( PT_UNICODE,   0x3A23)
  274. #define PR_PRIMARY_FAX_NUMBER_A                     PROP_TAG( PT_STRING8,   0x3A23)
  275. #define PR_BUSINESS_FAX_NUMBER                      PROP_TAG( PT_TSTRING,   0x3A24)
  276. #define PR_BUSINESS_FAX_NUMBER_W                    PROP_TAG( PT_UNICODE,   0x3A24)
  277. #define PR_BUSINESS_FAX_NUMBER_A                    PROP_TAG( PT_STRING8,   0x3A24)
  278. #define PR_HOME_FAX_NUMBER                          PROP_TAG( PT_TSTRING,   0x3A25)
  279. #define PR_HOME_FAX_NUMBER_W                        PROP_TAG( PT_UNICODE,   0x3A25)
  280. #define PR_HOME_FAX_NUMBER_A                        PROP_TAG( PT_STRING8,   0x3A25)
  281. #define PR_COUNTRY                                  PROP_TAG( PT_TSTRING,   0x3A26)
  282. #define PR_COUNTRY_W                                PROP_TAG( PT_UNICODE,   0x3A26)
  283. #define PR_COUNTRY_A                                PROP_TAG( PT_STRING8,   0x3A26)
  284. #define PR_LOCALITY                                 PROP_TAG( PT_TSTRING,   0x3A27)
  285. #define PR_LOCALITY_W                               PROP_TAG( PT_UNICODE,   0x3A27)
  286. #define PR_LOCALITY_A                               PROP_TAG( PT_STRING8,   0x3A27)
  287. #define PR_STATE_OR_PROVINCE                        PROP_TAG( PT_TSTRING,   0x3A28)
  288. #define PR_STATE_OR_PROVINCE_W                      PROP_TAG( PT_UNICODE,   0x3A28)
  289. #define PR_STATE_OR_PROVINCE_A                      PROP_TAG( PT_STRING8,   0x3A28)
  290. #define PR_STREET_ADDRESS                           PROP_TAG( PT_TSTRING,   0x3A29)
  291. #define PR_STREET_ADDRESS_W                         PROP_TAG( PT_UNICODE,   0x3A29)
  292. #define PR_STREET_ADDRESS_A                         PROP_TAG( PT_STRING8,   0x3A29)
  293. #define PR_POSTAL_CODE                              PROP_TAG( PT_TSTRING,   0x3A2A)
  294. #define PR_POSTAL_CODE_W                            PROP_TAG( PT_UNICODE,   0x3A2A)
  295. #define PR_POSTAL_CODE_A                            PROP_TAG( PT_STRING8,   0x3A2A)
  296. #define PR_POST_OFFICE_BOX                          PROP_TAG( PT_TSTRING,   0x3A2B)
  297. #define PR_POST_OFFICE_BOX_W                        PROP_TAG( PT_UNICODE,   0x3A2B)
  298. #define PR_POST_OFFICE_BOX_A                        PROP_TAG( PT_STRING8,   0x3A2B)
  299. #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX         PR_POST_OFFICE_BOX
  300. #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_W       PR_POST_OFFICE_BOX_W
  301. #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_A       PR_POST_OFFICE_BOX_A
  302. #define PR_TELEX_NUMBER                             PROP_TAG( PT_TSTRING,   0x3A2C)
  303. #define PR_TELEX_NUMBER_W                           PROP_TAG( PT_UNICODE,   0x3A2C)
  304. #define PR_TELEX_NUMBER_A                           PROP_TAG( PT_STRING8,   0x3A2C)
  305. #define PR_ISDN_NUMBER                              PROP_TAG( PT_TSTRING,   0x3A2D)
  306. #define PR_ISDN_NUMBER_W                            PROP_TAG( PT_UNICODE,   0x3A2D)
  307. #define PR_ISDN_NUMBER_A                            PROP_TAG( PT_STRING8,   0x3A2D)
  308. #define PR_ASSISTANT_TELEPHONE_NUMBER               PROP_TAG( PT_TSTRING,   0x3A2E)
  309. #define PR_ASSISTANT_TELEPHONE_NUMBER_W             PROP_TAG( PT_UNICODE,   0x3A2E)
  310. #define PR_ASSISTANT_TELEPHONE_NUMBER_A             PROP_TAG( PT_STRING8,   0x3A2E)
  311. #define PR_HOME2_TELEPHONE_NUMBER                   PROP_TAG( PT_TSTRING,   0x3A2F)
  312. #define PR_HOME2_TELEPHONE_NUMBER_W                 PROP_TAG( PT_UNICODE,   0x3A2F)
  313. #define PR_HOME2_TELEPHONE_NUMBER_A                 PROP_TAG( PT_STRING8,   0x3A2F)
  314. #define PR_ASSISTANT                                PROP_TAG( PT_TSTRING,   0x3A30)
  315. #define PR_ASSISTANT_W                              PROP_TAG( PT_UNICODE,   0x3A30)
  316. #define PR_ASSISTANT_A                              PROP_TAG( PT_STRING8,   0x3A30)
  317. #define PR_SEND_RICH_INFO                           PROP_TAG( PT_BOOLEAN,   0x3A40)
  318. #define PR_WEDDING_ANNIVERSARY                      PROP_TAG( PT_SYSTIME,   0x3A41)
  319. #define PR_BIRTHDAY                                 PROP_TAG( PT_SYSTIME,   0x3A42)
  320. #define PR_HOBBIES                                  PROP_TAG( PT_TSTRING,   0x3A43)
  321. #define PR_HOBBIES_W                                PROP_TAG( PT_UNICODE,   0x3A43)
  322. #define PR_HOBBIES_A                                PROP_TAG( PT_STRING8,   0x3A43)
  323. #define PR_MIDDLE_NAME                              PROP_TAG( PT_TSTRING,   0x3A44)
  324. #define PR_MIDDLE_NAME_W                            PROP_TAG( PT_UNICODE,   0x3A44)
  325. #define PR_MIDDLE_NAME_A                            PROP_TAG( PT_STRING8,   0x3A44)
  326. #define PR_DISPLAY_NAME_PREFIX                      PROP_TAG( PT_TSTRING,   0x3A45)
  327. #define PR_DISPLAY_NAME_PREFIX_W                    PROP_TAG( PT_UNICODE,   0x3A45)
  328. #define PR_DISPLAY_NAME_PREFIX_A                    PROP_TAG( PT_STRING8,   0x3A45)
  329. #define PR_PROFESSION                               PROP_TAG( PT_TSTRING,   0x3A46)
  330. #define PR_PROFESSION_W                             PROP_TAG( PT_UNICODE,   0x3A46)
  331. #define PR_PROFESSION_A                             PROP_TAG( PT_STRING8,   0x3A46)
  332. #define PR_PREFERRED_BY_NAME                        PROP_TAG( PT_TSTRING,   0x3A47)
  333. #define PR_PREFERRED_BY_NAME_W                      PROP_TAG( PT_UNICODE,   0x3A47)
  334. #define PR_PREFERRED_BY_NAME_A                      PROP_TAG( PT_STRING8,   0x3A47)
  335. #define PR_SPOUSE_NAME                              PROP_TAG( PT_TSTRING,   0x3A48)
  336. #define PR_SPOUSE_NAME_W                            PROP_TAG( PT_UNICODE,   0x3A48)
  337. #define PR_SPOUSE_NAME_A                            PROP_TAG( PT_STRING8,   0x3A48)
  338. #define PR_COMPUTER_NETWORK_NAME                    PROP_TAG( PT_TSTRING,   0x3A49)
  339. #define PR_COMPUTER_NETWORK_NAME_W                  PROP_TAG( PT_UNICODE,   0x3A49)
  340. #define PR_COMPUTER_NETWORK_NAME_A                  PROP_TAG( PT_STRING8,   0x3A49)
  341. #define PR_CUSTOMER_ID                              PROP_TAG( PT_TSTRING,   0x3A4A)
  342. #define PR_CUSTOMER_ID_W                            PROP_TAG( PT_UNICODE,   0x3A4A)
  343. #define PR_CUSTOMER_ID_A                            PROP_TAG( PT_STRING8,   0x3A4A)
  344. #define PR_TTYTDD_PHONE_NUMBER                      PROP_TAG( PT_TSTRING,   0x3A4B)
  345. #define PR_TTYTDD_PHONE_NUMBER_W                    PROP_TAG( PT_UNICODE,   0x3A4B)
  346. #define PR_TTYTDD_PHONE_NUMBER_A                    PROP_TAG( PT_STRING8,   0x3A4B)
  347. #define PR_FTP_SITE                                 PROP_TAG( PT_TSTRING,   0x3A4C)
  348. #define PR_FTP_SITE_W                               PROP_TAG( PT_UNICODE,   0x3A4C)
  349. #define PR_FTP_SITE_A                               PROP_TAG( PT_STRING8,   0x3A4C)
  350. #define PR_GENDER                                   PROP_TAG( PT_SHORT,     0x3A4D)
  351. #define PR_MANAGER_NAME                             PROP_TAG( PT_TSTRING,   0x3A4E)
  352. #define PR_MANAGER_NAME_W                           PROP_TAG( PT_UNICODE,   0x3A4E)
  353. #define PR_MANAGER_NAME_A                           PROP_TAG( PT_STRING8,   0x3A4E)
  354. #define PR_NICKNAME                                 PROP_TAG( PT_TSTRING,   0x3A4F)
  355. #define PR_NICKNAME_W                               PROP_TAG( PT_UNICODE,   0x3A4F)
  356. #define PR_NICKNAME_A                               PROP_TAG( PT_STRING8,   0x3A4F)
  357. #define PR_PERSONAL_HOME_PAGE                       PROP_TAG( PT_TSTRING,   0x3A50)
  358. #define PR_PERSONAL_HOME_PAGE_W                     PROP_TAG( PT_UNICODE,   0x3A50)
  359. #define PR_PERSONAL_HOME_PAGE_A                     PROP_TAG( PT_STRING8,   0x3A50)
  360. #define PR_BUSINESS_HOME_PAGE                       PROP_TAG( PT_TSTRING,   0x3A51)
  361. #define PR_BUSINESS_HOME_PAGE_W                     PROP_TAG( PT_UNICODE,   0x3A51)
  362. #define PR_BUSINESS_HOME_PAGE_A                     PROP_TAG( PT_STRING8,   0x3A51)
  363. #define PR_CONTACT_VERSION                          PROP_TAG( PT_CLSID,     0x3A52)
  364. #define PR_CONTACT_ENTRYIDS                         PROP_TAG( PT_MV_BINARY, 0x3A53)
  365. #define PR_CONTACT_ADDRTYPES                        PROP_TAG( PT_MV_TSTRING, 0x3A54)
  366. #define PR_CONTACT_ADDRTYPES_W                      PROP_TAG( PT_MV_UNICODE, 0x3A54)
  367. #define PR_CONTACT_ADDRTYPES_A                      PROP_TAG( PT_MV_STRING8, 0x3A54)
  368. #define PR_CONTACT_DEFAULT_ADDRESS_INDEX            PROP_TAG( PT_LONG,      0x3A55)
  369. #define PR_CONTACT_EMAIL_ADDRESSES                  PROP_TAG( PT_MV_TSTRING, 0x3A56)
  370. #define PR_CONTACT_EMAIL_ADDRESSES_W                PROP_TAG( PT_MV_UNICODE, 0x3A56)
  371. #define PR_CONTACT_EMAIL_ADDRESSES_A                PROP_TAG( PT_MV_STRING8, 0x3A56)
  372. #define PR_COMPANY_MAIN_PHONE_NUMBER                PROP_TAG( PT_TSTRING,   0x3A57)
  373. #define PR_COMPANY_MAIN_PHONE_NUMBER_W              PROP_TAG( PT_UNICODE,   0x3A57)
  374. #define PR_COMPANY_MAIN_PHONE_NUMBER_A              PROP_TAG( PT_STRING8,   0x3A57)
  375. #define PR_CHILDRENS_NAMES                          PROP_TAG( PT_MV_TSTRING, 0x3A58)
  376. #define PR_CHILDRENS_NAMES_W                        PROP_TAG( PT_MV_UNICODE, 0x3A58)
  377. #define PR_CHILDRENS_NAMES_A                        PROP_TAG( PT_MV_STRING8, 0x3A58)
  378. #define PR_HOME_ADDRESS_CITY                        PROP_TAG( PT_TSTRING,   0x3A59)
  379. #define PR_HOME_ADDRESS_CITY_W                      PROP_TAG( PT_UNICODE,   0x3A59)
  380. #define PR_HOME_ADDRESS_CITY_A                      PROP_TAG( PT_STRING8,   0x3A59)
  381. #define PR_HOME_ADDRESS_COUNTRY                     PROP_TAG( PT_TSTRING,   0x3A5A)
  382. #define PR_HOME_ADDRESS_COUNTRY_W                   PROP_TAG( PT_UNICODE,   0x3A5A)
  383. #define PR_HOME_ADDRESS_COUNTRY_A                   PROP_TAG( PT_STRING8,   0x3A5A)
  384. #define PR_HOME_ADDRESS_POSTAL_CODE                 PROP_TAG( PT_TSTRING,   0x3A5B)
  385. #define PR_HOME_ADDRESS_POSTAL_CODE_W               PROP_TAG( PT_UNICODE,   0x3A5B)
  386. #define PR_HOME_ADDRESS_POSTAL_CODE_A               PROP_TAG( PT_STRING8,   0x3A5B)
  387. #define PR_HOME_ADDRESS_STATE_OR_PROVINCE           PROP_TAG( PT_TSTRING,   0x3A5C)
  388. #define PR_HOME_ADDRESS_STATE_OR_PROVINCE_W         PROP_TAG( PT_UNICODE,   0x3A5C)
  389. #define PR_HOME_ADDRESS_STATE_OR_PROVINCE_A         PROP_TAG( PT_STRING8,   0x3A5C)
  390. #define PR_HOME_ADDRESS_STREET                      PROP_TAG( PT_TSTRING,   0x3A5D)
  391. #define PR_HOME_ADDRESS_STREET_W                    PROP_TAG( PT_UNICODE,   0x3A5D)
  392. #define PR_HOME_ADDRESS_STREET_A                    PROP_TAG( PT_STRING8,   0x3A5D)
  393. #define PR_HOME_ADDRESS_POST_OFFICE_BOX             PROP_TAG( PT_TSTRING,   0x3A5E)
  394. #define PR_HOME_ADDRESS_POST_OFFICE_BOX_W           PROP_TAG( PT_UNICODE,   0x3A5E)
  395. #define PR_HOME_ADDRESS_POST_OFFICE_BOX_A           PROP_TAG( PT_STRING8,   0x3A5E)
  396. #define PR_OTHER_ADDRESS_CITY                       PROP_TAG( PT_TSTRING,   0x3A5F)
  397. #define PR_OTHER_ADDRESS_CITY_W                     PROP_TAG( PT_UNICODE,   0x3A5F)
  398. #define PR_OTHER_ADDRESS_CITY_A                     PROP_TAG( PT_STRING8,   0x3A5F)
  399. #define PR_OTHER_ADDRESS_COUNTRY                    PROP_TAG( PT_TSTRING,   0x3A60)
  400. #define PR_OTHER_ADDRESS_COUNTRY_W                  PROP_TAG( PT_UNICODE,   0x3A60)
  401. #define PR_OTHER_ADDRESS_COUNTRY_A                  PROP_TAG( PT_STRING8,   0x3A60)
  402. #define PR_OTHER_ADDRESS_POSTAL_CODE                PROP_TAG( PT_TSTRING,   0x3A61)
  403. #define PR_OTHER_ADDRESS_POSTAL_CODE_W              PROP_TAG( PT_UNICODE,   0x3A61)
  404. #define PR_OTHER_ADDRESS_POSTAL_CODE_A              PROP_TAG( PT_STRING8,   0x3A61)
  405. #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE          PROP_TAG( PT_TSTRING,   0x3A62)
  406. #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_W        PROP_TAG( PT_UNICODE,   0x3A62)
  407. #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_A        PROP_TAG( PT_STRING8,   0x3A62)
  408. #define PR_OTHER_ADDRESS_STREET                     PROP_TAG( PT_TSTRING,   0x3A63)
  409. #define PR_OTHER_ADDRESS_STREET_W                   PROP_TAG( PT_UNICODE,   0x3A63)
  410. #define PR_OTHER_ADDRESS_STREET_A                   PROP_TAG( PT_STRING8,   0x3A63)
  411. #define PR_OTHER_ADDRESS_POST_OFFICE_BOX            PROP_TAG( PT_TSTRING,   0x3A64)
  412. #define PR_OTHER_ADDRESS_POST_OFFICE_BOX_W          PROP_TAG( PT_UNICODE,   0x3A64)
  413. #define PR_OTHER_ADDRESS_POST_OFFICE_BOX_A          PROP_TAG( PT_STRING8,   0x3A64)
  414. #define PR_USER_X509_CERTIFICATE                    PROP_TAG( PT_MV_BINARY, 0x3A70)
  415. #define PR_SEND_INTERNET_ENCODING                   PROP_TAG( PT_LONG,      0x3A71)
  416. #define PR_BUSINESS_ADDRESS_CITY                    PR_LOCALITY
  417. #define PR_BUSINESS_ADDRESS_COUNTRY                 PR_COUNTRY
  418. #define PR_BUSINESS_ADDRESS_POSTAL_CODE             PR_POSTAL_CODE
  419. #define PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE       PR_STATE_OR_PROVINCE
  420. #define PR_BUSINESS_ADDRESS_STREET                  PR_STREET_ADDRESS
  421. /*
  422.  * Message recipient properties
  423.  */
  424. #define PR_RECIPIENT_TYPE                           PROP_TAG( PT_LONG,      0x0C15)
  425. /*
  426.  * Secure property id range
  427.  */
  428. #define PROP_ID_SECURE_MIN                          0x67F0
  429. #define PROP_ID_SECURE_MAX                          0x67FF
  430. /* These are the bits that show up in PR_SEND_INTERNET_ENCODING */
  431. /* whether or not an encoding preference is specified
  432. 牋 1 - pay attention to the rest of the bits for the encoding preferences
  433. 牋 0 - let the mail system choose what's best for it