Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #if !defined(MAPITAGS_H) && !defined(WABTAGS_H)
      7 #define WABTAGS_H
      8 
      9 #define FIsTransmittable(ulPropTag) ((PROP_ID (ulPropTag) < (ULONG)0x0E00) || (PROP_ID (ulPropTag) >= (ULONG)0x8000) || ((PROP_ID (ulPropTag) >= (ULONG)0x1000) && (PROP_ID (ulPropTag) < (ULONG)0x6000)) || ((PROP_ID (ulPropTag) >= (ULONG)0x6800) && (PROP_ID (ulPropTag) < (ULONG)0x7C00)))
     10 
     11 #define PR_ENTRYID PROP_TAG(PT_BINARY,0x0FFF)
     12 #define PR_OBJECT_TYPE PROP_TAG(PT_LONG,0x0FFE)
     13 #define PR_ICON PROP_TAG(PT_BINARY,0x0FFD)
     14 #define PR_MINI_ICON PROP_TAG(PT_BINARY,0x0FFC)
     15 #define PR_STORE_ENTRYID PROP_TAG(PT_BINARY,0x0FFB)
     16 #define PR_STORE_RECORD_KEY PROP_TAG(PT_BINARY,0x0FFA)
     17 #define PR_RECORD_KEY PROP_TAG(PT_BINARY,0x0FF9)
     18 #define PR_MAPPING_SIGNATURE PROP_TAG(PT_BINARY,0x0FF8)
     19 #define PR_ACCESS_LEVEL PROP_TAG(PT_LONG,0x0FF7)
     20 #define PR_INSTANCE_KEY PROP_TAG(PT_BINARY,0x0FF6)
     21 #define PR_ROW_TYPE PROP_TAG(PT_LONG,0x0FF5)
     22 #define PR_ACCESS PROP_TAG(PT_LONG,0x0FF4)
     23 
     24 #define PR_ROWID PROP_TAG(PT_LONG,0x3000)
     25 #define PR_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3001)
     26 #define PR_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3001)
     27 #define PR_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3001)
     28 #define PR_ADDRTYPE PROP_TAG(PT_TSTRING,0x3002)
     29 #define PR_ADDRTYPE_W PROP_TAG(PT_UNICODE,0x3002)
     30 #define PR_ADDRTYPE_A PROP_TAG(PT_STRING8,0x3002)
     31 #define PR_EMAIL_ADDRESS PROP_TAG(PT_TSTRING,0x3003)
     32 #define PR_EMAIL_ADDRESS_W PROP_TAG(PT_UNICODE,0x3003)
     33 #define PR_EMAIL_ADDRESS_A PROP_TAG(PT_STRING8,0x3003)
     34 #define PR_COMMENT PROP_TAG(PT_TSTRING,0x3004)
     35 #define PR_COMMENT_W PROP_TAG(PT_UNICODE,0x3004)
     36 #define PR_COMMENT_A PROP_TAG(PT_STRING8,0x3004)
     37 #define PR_DEPTH PROP_TAG(PT_LONG,0x3005)
     38 #define PR_PROVIDER_DISPLAY PROP_TAG(PT_TSTRING,0x3006)
     39 #define PR_PROVIDER_DISPLAY_W PROP_TAG(PT_UNICODE,0x3006)
     40 #define PR_PROVIDER_DISPLAY_A PROP_TAG(PT_STRING8,0x3006)
     41 #define PR_CREATION_TIME PROP_TAG(PT_SYSTIME,0x3007)
     42 #define PR_LAST_MODIFICATION_TIME PROP_TAG(PT_SYSTIME,0x3008)
     43 #define PR_RESOURCE_FLAGS PROP_TAG(PT_LONG,0x3009)
     44 #define PR_PROVIDER_DLL_NAME PROP_TAG(PT_TSTRING,0x300A)
     45 #define PR_PROVIDER_DLL_NAME_W PROP_TAG(PT_UNICODE,0x300A)
     46 #define PR_PROVIDER_DLL_NAME_A PROP_TAG(PT_STRING8,0x300A)
     47 #define PR_SEARCH_KEY PROP_TAG(PT_BINARY,0x300B)
     48 #define PR_PROVIDER_UID PROP_TAG(PT_BINARY,0x300C)
     49 #define PR_PROVIDER_ORDINAL PROP_TAG(PT_LONG,0x300D)
     50 
     51 #define PR_CONTAINER_FLAGS PROP_TAG(PT_LONG,0x3600)
     52 #define PR_FOLDER_TYPE PROP_TAG(PT_LONG,0x3601)
     53 #define PR_CONTENT_COUNT PROP_TAG(PT_LONG,0x3602)
     54 #define PR_CONTENT_UNREAD PROP_TAG(PT_LONG,0x3603)
     55 #define PR_CREATE_TEMPLATES PROP_TAG(PT_OBJECT,0x3604)
     56 #define PR_DETAILS_TABLE PROP_TAG(PT_OBJECT,0x3605)
     57 #define PR_SEARCH PROP_TAG(PT_OBJECT,0x3607)
     58 #define PR_SELECTABLE PROP_TAG(PT_BOOLEAN,0x3609)
     59 #define PR_SUBFOLDERS PROP_TAG(PT_BOOLEAN,0x360a)
     60 #define PR_STATUS PROP_TAG(PT_LONG,0x360b)
     61 #define PR_ANR PROP_TAG(PT_TSTRING,0x360c)
     62 #define PR_ANR_W PROP_TAG(PT_UNICODE,0x360c)
     63 #define PR_ANR_A PROP_TAG(PT_STRING8,0x360c)
     64 #define PR_CONTENTS_SORT_ORDER PROP_TAG(PT_MV_LONG,0x360d)
     65 #define PR_CONTAINER_HIERARCHY PROP_TAG(PT_OBJECT,0x360e)
     66 #define PR_CONTAINER_CONTENTS PROP_TAG(PT_OBJECT,0x360f)
     67 #define PR_FOLDER_ASSOCIATED_CONTENTS PROP_TAG(PT_OBJECT,0x3610)
     68 #define PR_DEF_CREATE_DL PROP_TAG(PT_BINARY,0x3611)
     69 #define PR_DEF_CREATE_MAILUSER PROP_TAG(PT_BINARY,0x3612)
     70 #define PR_CONTAINER_CLASS PROP_TAG(PT_TSTRING,0x3613)
     71 #define PR_CONTAINER_CLASS_W PROP_TAG(PT_UNICODE,0x3613)
     72 #define PR_CONTAINER_CLASS_A PROP_TAG(PT_STRING8,0x3613)
     73 #define PR_CONTAINER_MODIFY_VERSION PROP_TAG(PT_I8,0x3614)
     74 #define PR_AB_PROVIDER_ID PROP_TAG(PT_BINARY,0x3615)
     75 #define PR_DEFAULT_VIEW_ENTRYID PROP_TAG(PT_BINARY,0x3616)
     76 #define PR_ASSOC_CONTENT_COUNT PROP_TAG(PT_LONG,0x3617)
     77 
     78 #define PR_DISPLAY_TYPE PROP_TAG(PT_LONG,0x3900)
     79 #define PR_TEMPLATEID PROP_TAG(PT_BINARY,0x3902)
     80 #define PR_PRIMARY_CAPABILITY PROP_TAG(PT_BINARY,0x3904)
     81 #define PR_7BIT_DISPLAY_NAME PROP_TAG(PT_STRING8,0x39FF)
     82 
     83 #define PR_ACCOUNT PROP_TAG(PT_TSTRING,0x3A00)
     84 #define PR_ACCOUNT_W PROP_TAG(PT_UNICODE,0x3A00)
     85 #define PR_ACCOUNT_A PROP_TAG(PT_STRING8,0x3A00)
     86 #define PR_ALTERNATE_RECIPIENT PROP_TAG(PT_BINARY,0x3A01)
     87 #define PR_CALLBACK_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A02)
     88 #define PR_CALLBACK_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A02)
     89 #define PR_CALLBACK_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A02)
     90 #define PR_CONVERSION_PROHIBITED PROP_TAG(PT_BOOLEAN,0x3A03)
     91 #define PR_DISCLOSE_RECIPIENTS PROP_TAG(PT_BOOLEAN,0x3A04)
     92 #define PR_GENERATION PROP_TAG(PT_TSTRING,0x3A05)
     93 #define PR_GENERATION_W PROP_TAG(PT_UNICODE,0x3A05)
     94 #define PR_GENERATION_A PROP_TAG(PT_STRING8,0x3A05)
     95 #define PR_GIVEN_NAME PROP_TAG(PT_TSTRING,0x3A06)
     96 #define PR_GIVEN_NAME_W PROP_TAG(PT_UNICODE,0x3A06)
     97 #define PR_GIVEN_NAME_A PROP_TAG(PT_STRING8,0x3A06)
     98 #define PR_GOVERNMENT_ID_NUMBER PROP_TAG(PT_TSTRING,0x3A07)
     99 #define PR_GOVERNMENT_ID_NUMBER_W PROP_TAG(PT_UNICODE,0x3A07)
    100 #define PR_GOVERNMENT_ID_NUMBER_A PROP_TAG(PT_STRING8,0x3A07)
    101 #define PR_BUSINESS_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A08)
    102 #define PR_BUSINESS_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A08)
    103 #define PR_BUSINESS_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A08)
    104 #define PR_OFFICE_TELEPHONE_NUMBER PR_BUSINESS_TELEPHONE_NUMBER
    105 #define PR_OFFICE_TELEPHONE_NUMBER_W PR_BUSINESS_TELEPHONE_NUMBER_W
    106 #define PR_OFFICE_TELEPHONE_NUMBER_A PR_BUSINESS_TELEPHONE_NUMBER_A
    107 #define PR_HOME_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A09)
    108 #define PR_HOME_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A09)
    109 #define PR_HOME_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A09)
    110 #define PR_INITIALS PROP_TAG(PT_TSTRING,0x3A0A)
    111 #define PR_INITIALS_W PROP_TAG(PT_UNICODE,0x3A0A)
    112 #define PR_INITIALS_A PROP_TAG(PT_STRING8,0x3A0A)
    113 #define PR_KEYWORD PROP_TAG(PT_TSTRING,0x3A0B)
    114 #define PR_KEYWORD_W PROP_TAG(PT_UNICODE,0x3A0B)
    115 #define PR_KEYWORD_A PROP_TAG(PT_STRING8,0x3A0B)
    116 #define PR_LANGUAGE PROP_TAG(PT_TSTRING,0x3A0C)
    117 #define PR_LANGUAGE_W PROP_TAG(PT_UNICODE,0x3A0C)
    118 #define PR_LANGUAGE_A PROP_TAG(PT_STRING8,0x3A0C)
    119 #define PR_LOCATION PROP_TAG(PT_TSTRING,0x3A0D)
    120 #define PR_LOCATION_W PROP_TAG(PT_UNICODE,0x3A0D)
    121 #define PR_LOCATION_A PROP_TAG(PT_STRING8,0x3A0D)
    122 #define PR_MAIL_PERMISSION PROP_TAG(PT_BOOLEAN,0x3A0E)
    123 #define PR_MHS_COMMON_NAME PROP_TAG(PT_TSTRING,0x3A0F)
    124 #define PR_MHS_COMMON_NAME_W PROP_TAG(PT_UNICODE,0x3A0F)
    125 #define PR_MHS_COMMON_NAME_A PROP_TAG(PT_STRING8,0x3A0F)
    126 #define PR_ORGANIZATIONAL_ID_NUMBER PROP_TAG(PT_TSTRING,0x3A10)
    127 #define PR_ORGANIZATIONAL_ID_NUMBER_W PROP_TAG(PT_UNICODE,0x3A10)
    128 #define PR_ORGANIZATIONAL_ID_NUMBER_A PROP_TAG(PT_STRING8,0x3A10)
    129 #define PR_SURNAME PROP_TAG(PT_TSTRING,0x3A11)
    130 #define PR_SURNAME_W PROP_TAG(PT_UNICODE,0x3A11)
    131 #define PR_SURNAME_A PROP_TAG(PT_STRING8,0x3A11)
    132 #define PR_ORIGINAL_ENTRYID PROP_TAG(PT_BINARY,0x3A12)
    133 #define PR_ORIGINAL_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3A13)
    134 #define PR_ORIGINAL_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3A13)
    135 #define PR_ORIGINAL_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3A13)
    136 #define PR_ORIGINAL_SEARCH_KEY PROP_TAG(PT_BINARY,0x3A14)
    137 #define PR_POSTAL_ADDRESS PROP_TAG(PT_TSTRING,0x3A15)
    138 #define PR_POSTAL_ADDRESS_W PROP_TAG(PT_UNICODE,0x3A15)
    139 #define PR_POSTAL_ADDRESS_A PROP_TAG(PT_STRING8,0x3A15)
    140 #define PR_COMPANY_NAME PROP_TAG(PT_TSTRING,0x3A16)
    141 #define PR_COMPANY_NAME_W PROP_TAG(PT_UNICODE,0x3A16)
    142 #define PR_COMPANY_NAME_A PROP_TAG(PT_STRING8,0x3A16)
    143 #define PR_TITLE PROP_TAG(PT_TSTRING,0x3A17)
    144 #define PR_TITLE_W PROP_TAG(PT_UNICODE,0x3A17)
    145 #define PR_TITLE_A PROP_TAG(PT_STRING8,0x3A17)
    146 #define PR_DEPARTMENT_NAME PROP_TAG(PT_TSTRING,0x3A18)
    147 #define PR_DEPARTMENT_NAME_W PROP_TAG(PT_UNICODE,0x3A18)
    148 #define PR_DEPARTMENT_NAME_A PROP_TAG(PT_STRING8,0x3A18)
    149 #define PR_OFFICE_LOCATION PROP_TAG(PT_TSTRING,0x3A19)
    150 #define PR_OFFICE_LOCATION_W PROP_TAG(PT_UNICODE,0x3A19)
    151 #define PR_OFFICE_LOCATION_A PROP_TAG(PT_STRING8,0x3A19)
    152 #define PR_PRIMARY_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1A)
    153 #define PR_PRIMARY_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1A)
    154 #define PR_PRIMARY_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1A)
    155 #define PR_BUSINESS2_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1B)
    156 #define PR_BUSINESS2_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1B)
    157 #define PR_BUSINESS2_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1B)
    158 #define PR_OFFICE2_TELEPHONE_NUMBER PR_BUSINESS2_TELEPHONE_NUMBER
    159 #define PR_OFFICE2_TELEPHONE_NUMBER_W PR_BUSINESS2_TELEPHONE_NUMBER_W
    160 #define PR_OFFICE2_TELEPHONE_NUMBER_A PR_BUSINESS2_TELEPHONE_NUMBER_A
    161 #define PR_MOBILE_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1C)
    162 #define PR_MOBILE_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1C)
    163 #define PR_MOBILE_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1C)
    164 #define PR_CELLULAR_TELEPHONE_NUMBER PR_MOBILE_TELEPHONE_NUMBER
    165 #define PR_CELLULAR_TELEPHONE_NUMBER_W PR_MOBILE_TELEPHONE_NUMBER_W
    166 #define PR_CELLULAR_TELEPHONE_NUMBER_A PR_MOBILE_TELEPHONE_NUMBER_A
    167 #define PR_RADIO_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1D)
    168 #define PR_RADIO_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1D)
    169 #define PR_RADIO_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1D)
    170 #define PR_CAR_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1E)
    171 #define PR_CAR_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1E)
    172 #define PR_CAR_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1E)
    173 #define PR_OTHER_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1F)
    174 #define PR_OTHER_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1F)
    175 #define PR_OTHER_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1F)
    176 #define PR_TRANSMITABLE_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3A20)
    177 #define PR_TRANSMITABLE_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3A20)
    178 #define PR_TRANSMITABLE_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3A20)
    179 #define PR_PAGER_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A21)
    180 #define PR_PAGER_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A21)
    181 #define PR_PAGER_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A21)
    182 #define PR_BEEPER_TELEPHONE_NUMBER PR_PAGER_TELEPHONE_NUMBER
    183 #define PR_BEEPER_TELEPHONE_NUMBER_W PR_PAGER_TELEPHONE_NUMBER_W
    184 #define PR_BEEPER_TELEPHONE_NUMBER_A PR_PAGER_TELEPHONE_NUMBER_A
    185 #define PR_USER_CERTIFICATE PROP_TAG(PT_BINARY,0x3A22)
    186 #define PR_PRIMARY_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A23)
    187 #define PR_PRIMARY_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A23)
    188 #define PR_PRIMARY_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A23)
    189 #define PR_BUSINESS_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A24)
    190 #define PR_BUSINESS_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A24)
    191 #define PR_BUSINESS_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A24)
    192 #define PR_HOME_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A25)
    193 #define PR_HOME_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A25)
    194 #define PR_HOME_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A25)
    195 #define PR_COUNTRY PROP_TAG(PT_TSTRING,0x3A26)
    196 #define PR_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A26)
    197 #define PR_COUNTRY_A PROP_TAG(PT_STRING8,0x3A26)
    198 #define PR_LOCALITY PROP_TAG(PT_TSTRING,0x3A27)
    199 #define PR_LOCALITY_W PROP_TAG(PT_UNICODE,0x3A27)
    200 #define PR_LOCALITY_A PROP_TAG(PT_STRING8,0x3A27)
    201 #define PR_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A28)
    202 #define PR_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A28)
    203 #define PR_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A28)
    204 #define PR_STREET_ADDRESS PROP_TAG(PT_TSTRING,0x3A29)
    205 #define PR_STREET_ADDRESS_W PROP_TAG(PT_UNICODE,0x3A29)
    206 #define PR_STREET_ADDRESS_A PROP_TAG(PT_STRING8,0x3A29)
    207 #define PR_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A2A)
    208 #define PR_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A2A)
    209 #define PR_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A2A)
    210 #define PR_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A2B)
    211 #define PR_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A2B)
    212 #define PR_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A2B)
    213 #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX PR_POST_OFFICE_BOX
    214 #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_W PR_POST_OFFICE_BOX_W
    215 #define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_A PR_POST_OFFICE_BOX_A
    216 #define PR_TELEX_NUMBER PROP_TAG(PT_TSTRING,0x3A2C)
    217 #define PR_TELEX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2C)
    218 #define PR_TELEX_NUMBER_A PROP_TAG(PT_STRING8,0x3A2C)
    219 #define PR_ISDN_NUMBER PROP_TAG(PT_TSTRING,0x3A2D)
    220 #define PR_ISDN_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2D)
    221 #define PR_ISDN_NUMBER_A PROP_TAG(PT_STRING8,0x3A2D)
    222 #define PR_ASSISTANT_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A2E)
    223 #define PR_ASSISTANT_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2E)
    224 #define PR_ASSISTANT_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A2E)
    225 #define PR_HOME2_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A2F)
    226 #define PR_HOME2_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2F)
    227 #define PR_HOME2_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A2F)
    228 #define PR_ASSISTANT PROP_TAG(PT_TSTRING,0x3A30)
    229 #define PR_ASSISTANT_W PROP_TAG(PT_UNICODE,0x3A30)
    230 #define PR_ASSISTANT_A PROP_TAG(PT_STRING8,0x3A30)
    231 #define PR_SEND_RICH_INFO PROP_TAG(PT_BOOLEAN,0x3A40)
    232 #define PR_WEDDING_ANNIVERSARY PROP_TAG(PT_SYSTIME,0x3A41)
    233 #define PR_BIRTHDAY PROP_TAG(PT_SYSTIME,0x3A42)
    234 #define PR_HOBBIES PROP_TAG(PT_TSTRING,0x3A43)
    235 #define PR_HOBBIES_W PROP_TAG(PT_UNICODE,0x3A43)
    236 #define PR_HOBBIES_A PROP_TAG(PT_STRING8,0x3A43)
    237 #define PR_MIDDLE_NAME PROP_TAG(PT_TSTRING,0x3A44)
    238 #define PR_MIDDLE_NAME_W PROP_TAG(PT_UNICODE,0x3A44)
    239 #define PR_MIDDLE_NAME_A PROP_TAG(PT_STRING8,0x3A44)
    240 #define PR_DISPLAY_NAME_PREFIX PROP_TAG(PT_TSTRING,0x3A45)
    241 #define PR_DISPLAY_NAME_PREFIX_W PROP_TAG(PT_UNICODE,0x3A45)
    242 #define PR_DISPLAY_NAME_PREFIX_A PROP_TAG(PT_STRING8,0x3A45)
    243 #define PR_PROFESSION PROP_TAG(PT_TSTRING,0x3A46)
    244 #define PR_PROFESSION_W PROP_TAG(PT_UNICODE,0x3A46)
    245 #define PR_PROFESSION_A PROP_TAG(PT_STRING8,0x3A46)
    246 #define PR_PREFERRED_BY_NAME PROP_TAG(PT_TSTRING,0x3A47)
    247 #define PR_PREFERRED_BY_NAME_W PROP_TAG(PT_UNICODE,0x3A47)
    248 #define PR_PREFERRED_BY_NAME_A PROP_TAG(PT_STRING8,0x3A47)
    249 #define PR_SPOUSE_NAME PROP_TAG(PT_TSTRING,0x3A48)
    250 #define PR_SPOUSE_NAME_W PROP_TAG(PT_UNICODE,0x3A48)
    251 #define PR_SPOUSE_NAME_A PROP_TAG(PT_STRING8,0x3A48)
    252 #define PR_COMPUTER_NETWORK_NAME PROP_TAG(PT_TSTRING,0x3A49)
    253 #define PR_COMPUTER_NETWORK_NAME_W PROP_TAG(PT_UNICODE,0x3A49)
    254 #define PR_COMPUTER_NETWORK_NAME_A PROP_TAG(PT_STRING8,0x3A49)
    255 #define PR_CUSTOMER_ID PROP_TAG(PT_TSTRING,0x3A4A)
    256 #define PR_CUSTOMER_ID_W PROP_TAG(PT_UNICODE,0x3A4A)
    257 #define PR_CUSTOMER_ID_A PROP_TAG(PT_STRING8,0x3A4A)
    258 #define PR_TTYTDD_PHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A4B)
    259 #define PR_TTYTDD_PHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A4B)
    260 #define PR_TTYTDD_PHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A4B)
    261 #define PR_FTP_SITE PROP_TAG(PT_TSTRING,0x3A4C)
    262 #define PR_FTP_SITE_W PROP_TAG(PT_UNICODE,0x3A4C)
    263 #define PR_FTP_SITE_A PROP_TAG(PT_STRING8,0x3A4C)
    264 #define PR_GENDER PROP_TAG(PT_SHORT,0x3A4D)
    265 #define PR_MANAGER_NAME PROP_TAG(PT_TSTRING,0x3A4E)
    266 #define PR_MANAGER_NAME_W PROP_TAG(PT_UNICODE,0x3A4E)
    267 #define PR_MANAGER_NAME_A PROP_TAG(PT_STRING8,0x3A4E)
    268 #define PR_NICKNAME PROP_TAG(PT_TSTRING,0x3A4F)
    269 #define PR_NICKNAME_W PROP_TAG(PT_UNICODE,0x3A4F)
    270 #define PR_NICKNAME_A PROP_TAG(PT_STRING8,0x3A4F)
    271 #define PR_PERSONAL_HOME_PAGE PROP_TAG(PT_TSTRING,0x3A50)
    272 #define PR_PERSONAL_HOME_PAGE_W PROP_TAG(PT_UNICODE,0x3A50)
    273 #define PR_PERSONAL_HOME_PAGE_A PROP_TAG(PT_STRING8,0x3A50)
    274 #define PR_BUSINESS_HOME_PAGE PROP_TAG(PT_TSTRING,0x3A51)
    275 #define PR_BUSINESS_HOME_PAGE_W PROP_TAG(PT_UNICODE,0x3A51)
    276 #define PR_BUSINESS_HOME_PAGE_A PROP_TAG(PT_STRING8,0x3A51)
    277 #define PR_CONTACT_VERSION PROP_TAG(PT_CLSID,0x3A52)
    278 #define PR_CONTACT_ENTRYIDS PROP_TAG(PT_MV_BINARY,0x3A53)
    279 #define PR_CONTACT_ADDRTYPES PROP_TAG(PT_MV_TSTRING,0x3A54)
    280 #define PR_CONTACT_ADDRTYPES_W PROP_TAG(PT_MV_UNICODE,0x3A54)
    281 #define PR_CONTACT_ADDRTYPES_A PROP_TAG(PT_MV_STRING8,0x3A54)
    282 #define PR_CONTACT_DEFAULT_ADDRESS_INDEX PROP_TAG(PT_LONG,0x3A55)
    283 #define PR_CONTACT_EMAIL_ADDRESSES PROP_TAG(PT_MV_TSTRING,0x3A56)
    284 #define PR_CONTACT_EMAIL_ADDRESSES_W PROP_TAG(PT_MV_UNICODE,0x3A56)
    285 #define PR_CONTACT_EMAIL_ADDRESSES_A PROP_TAG(PT_MV_STRING8,0x3A56)
    286 #define PR_COMPANY_MAIN_PHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A57)
    287 #define PR_COMPANY_MAIN_PHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A57)
    288 #define PR_COMPANY_MAIN_PHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A57)
    289 #define PR_CHILDRENS_NAMES PROP_TAG(PT_MV_TSTRING,0x3A58)
    290 #define PR_CHILDRENS_NAMES_W PROP_TAG(PT_MV_UNICODE,0x3A58)
    291 #define PR_CHILDRENS_NAMES_A PROP_TAG(PT_MV_STRING8,0x3A58)
    292 #define PR_HOME_ADDRESS_CITY PROP_TAG(PT_TSTRING,0x3A59)
    293 #define PR_HOME_ADDRESS_CITY_W PROP_TAG(PT_UNICODE,0x3A59)
    294 #define PR_HOME_ADDRESS_CITY_A PROP_TAG(PT_STRING8,0x3A59)
    295 #define PR_HOME_ADDRESS_COUNTRY PROP_TAG(PT_TSTRING,0x3A5A)
    296 #define PR_HOME_ADDRESS_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A5A)
    297 #define PR_HOME_ADDRESS_COUNTRY_A PROP_TAG(PT_STRING8,0x3A5A)
    298 #define PR_HOME_ADDRESS_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A5B)
    299 #define PR_HOME_ADDRESS_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A5B)
    300 #define PR_HOME_ADDRESS_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A5B)
    301 #define PR_HOME_ADDRESS_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A5C)
    302 #define PR_HOME_ADDRESS_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A5C)
    303 #define PR_HOME_ADDRESS_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A5C)
    304 #define PR_HOME_ADDRESS_STREET PROP_TAG(PT_TSTRING,0x3A5D)
    305 #define PR_HOME_ADDRESS_STREET_W PROP_TAG(PT_UNICODE,0x3A5D)
    306 #define PR_HOME_ADDRESS_STREET_A PROP_TAG(PT_STRING8,0x3A5D)
    307 #define PR_HOME_ADDRESS_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A5E)
    308 #define PR_HOME_ADDRESS_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A5E)
    309 #define PR_HOME_ADDRESS_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A5E)
    310 #define PR_OTHER_ADDRESS_CITY PROP_TAG(PT_TSTRING,0x3A5F)
    311 #define PR_OTHER_ADDRESS_CITY_W PROP_TAG(PT_UNICODE,0x3A5F)
    312 #define PR_OTHER_ADDRESS_CITY_A PROP_TAG(PT_STRING8,0x3A5F)
    313 #define PR_OTHER_ADDRESS_COUNTRY PROP_TAG(PT_TSTRING,0x3A60)
    314 #define PR_OTHER_ADDRESS_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A60)
    315 #define PR_OTHER_ADDRESS_COUNTRY_A PROP_TAG(PT_STRING8,0x3A60)
    316 #define PR_OTHER_ADDRESS_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A61)
    317 #define PR_OTHER_ADDRESS_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A61)
    318 #define PR_OTHER_ADDRESS_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A61)
    319 #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A62)
    320 #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A62)
    321 #define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A62)
    322 #define PR_OTHER_ADDRESS_STREET PROP_TAG(PT_TSTRING,0x3A63)
    323 #define PR_OTHER_ADDRESS_STREET_W PROP_TAG(PT_UNICODE,0x3A63)
    324 #define PR_OTHER_ADDRESS_STREET_A PROP_TAG(PT_STRING8,0x3A63)
    325 #define PR_OTHER_ADDRESS_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A64)
    326 #define PR_OTHER_ADDRESS_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A64)
    327 #define PR_OTHER_ADDRESS_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A64)
    328 #define PR_USER_X509_CERTIFICATE PROP_TAG(PT_MV_BINARY,0x3A70)
    329 #define PR_SEND_INTERNET_ENCODING PROP_TAG(PT_LONG,0x3A71)
    330 
    331 #define PR_BUSINESS_ADDRESS_CITY PR_LOCALITY
    332 #define PR_BUSINESS_ADDRESS_COUNTRY PR_COUNTRY
    333 #define PR_BUSINESS_ADDRESS_POSTAL_CODE PR_POSTAL_CODE
    334 #define PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE PR_STATE_OR_PROVINCE
    335 #define PR_BUSINESS_ADDRESS_STREET PR_STREET_ADDRESS
    336 
    337 #define PR_RECIPIENT_TYPE PROP_TAG(PT_LONG,0x0C15)
    338 
    339 #define PROP_ID_SECURE_MIN 0x67F0
    340 #define PROP_ID_SECURE_MAX 0x67FF
    341 
    342 #define ENCODING_PREFERENCE ((ULONG) 0x00020000)
    343 
    344 #define ENCODING_TEXT ((ULONG) 0x00000000)
    345 #define ENCODING_MIME ((ULONG) 0x00040000)
    346 
    347 #define BODY_ENCODING_MASK ((ULONG) 0x00180000)
    348 #define BODY_ENCODING_TEXT ((ULONG) 0x00000000)
    349 #define BODY_ENCODING_HTML ((ULONG) 0x00080000)
    350 #define BODY_ENCODING_TEXT_AND_HTML ((ULONG) 0x00100000)
    351 
    352 #define MAC_ATTACH_ENCODING_MASK ((ULONG) 0x00600000)
    353 #define MAC_ATTACH_ENCODING_BINHEX ((ULONG) 0x00000000)
    354 #define MAC_ATTACH_ENCODING_UUENCODE ((ULONG) 0x00200000)
    355 #define MAC_ATTACH_ENCODING_APPLESINGLE ((ULONG) 0x00400000)
    356 #define MAC_ATTACH_ENCODING_APPLEDOUBLE ((ULONG) 0x00600000)
    357 
    358 enum Gender {
    359   genderUnspecified = 0,genderFemale,genderMale
    360 };
    361 #endif
    362