home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / wabtags.h < prev    next >
Text File  |  1998-04-25  |  33KB  |  507 lines

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