Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
3.1 KiB

  1. /***********************************************************************
  2. *
  3. * _ENTRYID.H
  4. *
  5. * Header file describing internal structure of EntryIDs returned
  6. * by this provider.
  7. *
  8. * Defines structure of records in .FAB files.
  9. *
  10. * Copyright 1992, 1993 Microsoft Corporation. All Rights Reserved.
  11. *
  12. ***********************************************************************/
  13. /*
  14. * Defines of various entryid types
  15. */
  16. #define MAWF_DIRECTORY 0x00000000
  17. #define MAWF_USER 0x00000001
  18. #define MAWF_UNKNOWN 0x00000002
  19. #define MAWF_ONEOFF 0x00000003
  20. /*
  21. * The version of this ABPs entryids
  22. */
  23. #define MAWF_VERSION 0x000000001
  24. /*
  25. * The FAX Address Book Provider MAPIUID
  26. *
  27. * This MAPIUID must be unique (see the Service Provider Writer's Guide on
  28. * Constructing Entry IDs)
  29. */
  30. /***** the Fax AB uid is in ..\..\h\entryid.h ******/
  31. /*
  32. * Directory entry id structure
  33. *
  34. * This entryid is permanent.
  35. */
  36. typedef struct _dir_entryid
  37. {
  38. BYTE abFlags[4];
  39. MAPIUID muid;
  40. ULONG ulVersion;
  41. ULONG ulType;
  42. MAPIUID muidID;
  43. } DIR_ENTRYID, *LPDIR_ENTRYID;
  44. #define CBDIR_ENTRYID sizeof(DIR_ENTRYID)
  45. /*
  46. * Browse record
  47. *
  48. * The .FAB files are made up of the following records.
  49. */
  50. #define DISPLAY_NAME_SIZE 30 // Size of display name field in record
  51. #define FAX_NUMBER_SIZE 50 // Size of Fax number field in record
  52. #define COUNTRY_ID_SIZE 5 // Size of Fax machine field in record
  53. #pragma pack(4)
  54. typedef struct _ABCREC
  55. {
  56. TCHAR rgchDisplayName[DISPLAY_NAME_SIZE + 1];
  57. TCHAR rgchEmailAddress[FAX_NUMBER_SIZE + 1];
  58. TCHAR rgchCountryID[COUNTRY_ID_SIZE + 1];
  59. } ABCREC, *LPABCREC;
  60. #pragma pack()
  61. #define CBABCREC sizeof(ABCREC)
  62. /*
  63. * Mail user entry id structure
  64. *
  65. * This entryid is permanent.
  66. */
  67. #pragma pack(4)
  68. typedef struct _usr_entryid
  69. {
  70. BYTE abFlags[4];
  71. MAPIUID muid;
  72. ULONG ulVersion;
  73. ULONG ulType;
  74. ABCREC abcrec;
  75. } USR_ENTRYID, *LPUSR_ENTRYID;
  76. #pragma pack()
  77. #define CBUSR_ENTRYID sizeof(USR_ENTRYID)
  78. /*
  79. * One-Off entry ID
  80. */
  81. /* #pragma pack(4)
  82. typedef struct _ONEOFFREC
  83. {
  84. char displayName[DISPLAY_NAME_SIZE + 1];
  85. char emailAddress[FAX_NUMBER_SIZE + 1];
  86. char rgchCountryID[COUNTRY_ID_SIZE + 1];
  87. } ONEOFFREC, *LPONEOFFREC;
  88. */
  89. #pragma pack()
  90. #define CBONEOFFREC sizeof(ONEOFFREC)
  91. /*
  92. * One-Off entry ID structure
  93. *
  94. * This entryid is permanent.
  95. */
  96. #pragma pack(4)
  97. typedef struct _oneoff_entryid
  98. {
  99. BYTE abFlags[4];
  100. MAPIUID muid;
  101. ULONG ulVersion;
  102. ULONG ulType;
  103. // ONEOFFREC oneOffRec;
  104. } OOUSER_ENTRYID, *LPOOUSER_ENTRYID;
  105. #pragma pack()
  106. #define CBOOUSER_ENTRYID sizeof(OOUSER_ENTRYID)
  107. /*
  108. * Template ID entry ID structure
  109. *
  110. * This entryid is permanent.
  111. */
  112. #pragma pack(4)
  113. typedef struct _tid_entryid
  114. {
  115. BYTE abFlags[4];
  116. MAPIUID muid;
  117. ULONG ulVersion;
  118. ULONG ulType;
  119. } TEMPLATEID_ENTRYID, *LPTEMPLATEID_ENTRYID;
  120. #pragma pack()
  121. #define CBTEMPLATEID_ENTRYID sizeof(TEMPLATEID_ENTRYID)