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.

126 lines
5.3 KiB

  1. #ifndef __EDK2_HPP__
  2. #define __EDK2_HPP__
  3. /*
  4. ===============================================================================
  5. Module - edk.hpp
  6. System - EnterpriseAdministrator
  7. Creator - Steven Bailey
  8. Created - 2 Apr 97
  9. Description - Exchange MAPI and DAPI helper functions
  10. Updates -
  11. ===============================================================================
  12. */
  13. #include <mapix.h>
  14. #include <dapi.h>
  15. typedef void (STDAPICALLTYPE FREEPADRLIST) (LPADRLIST lpAdrlist);
  16. typedef FREEPADRLIST FAR * LPFREEPADRLIST;
  17. typedef void (STDAPICALLTYPE FREEPROWS) (LPSRowSet lpRows);
  18. typedef FREEPROWS FAR * LPFREEPROWS;
  19. typedef SCODE (STDAPICALLTYPE SCDUPPROPSET)( int cprop,
  20. LPSPropValue rgprop,LPALLOCATEBUFFER lpAllocateBuffer,LPSPropValue FAR * prgprop);
  21. typedef SCDUPPROPSET FAR * LPSCDUPPROPSET;
  22. typedef HRESULT (STDAPICALLTYPE HRQUERYALLROWS)(LPMAPITABLE lpTable,
  23. LPSPropTagArray lpPropTags,
  24. LPSRestriction lpRestriction,
  25. LPSSortOrderSet lpSortOrderSet,
  26. LONG crowsMax,
  27. LPSRowSet FAR *lppRows);
  28. typedef HRQUERYALLROWS FAR * LPHRQUERYALLROWS;
  29. typedef ULONG (STDAPICALLTYPE ULRELEASE)(LPVOID lpunk);
  30. typedef ULRELEASE FAR * LPULRELEASE;
  31. HRESULT
  32. HrFindExchangeGlobalAddressList(
  33. LPADRBOOK lpAdrBook, // in - address book pointer
  34. ULONG * lpcbeid, // out- pointer to count of bytes in entry ID
  35. LPENTRYID * lppeid // out- pointer to entry ID pointer
  36. );
  37. //--HrCreateDirEntryIdEx-------------------------------------------------------
  38. // Create a directory entry ID given the address of the object
  39. // in the directory.
  40. // -----------------------------------------------------------------------------
  41. HRESULT
  42. HrCreateDirEntryIdEx(
  43. LPADRBOOK lpAdrBook, // in - address book (directory) to look in
  44. LPWSTR lpszDN, // in - object distinguished name
  45. ULONG * lpcbEntryID, // out- count of bytes in entry ID
  46. LPENTRYID * lppEntryID); // out- pointer to entry ID
  47. // DAPI functions
  48. //--HrEnumContainers--------------------------------------------------------
  49. // Enumerates the container name(s).
  50. // -----------------------------------------------------------------------------
  51. HRESULT
  52. HrEnumContainers(
  53. LPWSTR lpszServer, // in - server name
  54. LPWSTR lpszSiteDN, // in - distinguished name of site
  55. BOOL fSubtree, // in - sub-tree?
  56. LPWSTR * lppszContainers); // out- containers
  57. //--HrEnumOrganizations-----------------------------------------------------
  58. // Enumerates the organization name(s).
  59. // -----------------------------------------------------------------------------
  60. HRESULT
  61. HrEnumOrganizations(
  62. LPWSTR lpszRootDN, // in - distinguished name of DIT root
  63. LPWSTR lpszServer, // in - server name
  64. LPWSTR * lppszOrganizations); // out- organizations
  65. //--HrEnumSites-------------------------------------------------------------
  66. // Enumerates the site name(s).
  67. // -----------------------------------------------------------------------------
  68. HRESULT
  69. HrEnumSites(
  70. LPWSTR lpszServer, // in - server name
  71. LPWSTR lpszOrganizationDN, // in - distinguished name of organization
  72. LPWSTR * lppszSites); // out- sites
  73. typedef PDAPI_EVENTW (APIENTRY *LPDAPISTART)(LPDAPI_HANDLE lphDAPISession,
  74. LPDAPI_PARMSW lpDAPIParms);
  75. typedef void (APIENTRY *LPDAPIEND)(LPDAPI_HANDLE lphDAPISession);
  76. typedef PDAPI_EVENTW (APIENTRY *LPDAPIREAD)(DAPI_HANDLE hDAPISession,
  77. DWORD dwFlags,
  78. LPWSTR pszObjectName,
  79. PDAPI_ENTRY pAttList,
  80. PDAPI_ENTRY * ppValues,
  81. PDAPI_ENTRY * ppAttributes);
  82. typedef PDAPI_EVENTW (APIENTRY *LPDAPIWRITE)(DAPI_HANDLE hDAPISession,
  83. DWORD dwFlags,
  84. PDAPI_ENTRY pAttributes,
  85. PDAPI_ENTRY pValues,
  86. PULONG lpulUSN,
  87. LPWSTR * lppszCreatedAccount,
  88. LPWSTR * lppszPassword);
  89. typedef void (APIENTRY *LPDAPIFREEMEMORY)(LPVOID lpVoid);
  90. typedef DWORD (APIENTRY *LPBATCHEXPORT)(LPBEXPORT_PARMSW lpBexportParms);
  91. extern LPDAPISTART pDAPIStart;
  92. extern LPDAPIEND pDAPIEnd;
  93. extern LPDAPIREAD pDAPIRead;
  94. extern LPDAPIWRITE pDAPIWrite;
  95. extern LPDAPIFREEMEMORY pDAPIFreeMemory;
  96. extern LPBATCHEXPORT pBatchExport;
  97. #endif //__EDK2_HPP__