Leaked source code of windows server 2003
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.

66 lines
2.4 KiB

  1. #ifndef _MAILUSER_H_
  2. #define _MAILUSER_H_
  3. #undef INTERFACE
  4. #define INTERFACE struct _MailUser
  5. #undef MAPIMETHOD_
  6. #define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, MailUser_)
  7. MAPI_IUNKNOWN_METHODS(IMPL)
  8. MAPI_IMAPIPROP_METHODS(IMPL)
  9. #undef MAPIMETHOD_
  10. #define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, MailUser_)
  11. MAPI_IUNKNOWN_METHODS(IMPL)
  12. MAPI_IMAPIPROP_METHODS(IMPL)
  13. #undef MAPIMETHOD_
  14. #define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
  15. DECLARE_MAPI_INTERFACE(MailUser_)
  16. {
  17. BEGIN_INTERFACE
  18. MAPI_IUNKNOWN_METHODS(IMPL)
  19. MAPI_IMAPIPROP_METHODS(IMPL)
  20. };
  21. // Keep the base members common across all the MAILUSER, CONTAINER, DISTLIST objects
  22. // such that code reuse is leveraged.
  23. //
  24. #define MAILUSER_BASE_MEMBERS(_type) \
  25. MAPIX_BASE_MEMBERS(_type) \
  26. \
  27. LPPROPDATA lpPropData; \
  28. LPENTRYID lpEntryID; \
  29. LPIAB lpIAB; \
  30. ULONG ulObjAccess; \
  31. ULONG ulCreateFlags; \
  32. LPSBinary pmbinOlk; \
  33. LPVOID lpv;
  34. typedef struct _MailUser {
  35. MAILUSER_BASE_MEMBERS(MailUser)
  36. } MailUser, FAR * LPMailUser;
  37. HRESULT HrSetMAILUSERAccess(LPMAILUSER lpMAILUSER, ULONG ulFlags);
  38. HRESULT HrNewMAILUSER(LPIAB lpIAB, LPSBinary pmbinOlk, ULONG ulType, ULONG ulFlags, LPVOID * lppMAILUSER);
  39. BOOL FixDisplayName( LPTSTR lpFirstName,
  40. LPTSTR lpMiddleName,
  41. LPTSTR lpLastName,
  42. LPTSTR lpCompanyName,
  43. LPTSTR lpNickName,
  44. LPTSTR * lppDisplayName,
  45. LPVOID lpvRoot);
  46. // Parses a display name into first and last ...
  47. BOOL ParseDisplayName( LPTSTR lpDisplayName,
  48. LPTSTR * lppFirstName,
  49. LPTSTR * lppLastName,
  50. LPVOID lpvRoot,
  51. LPVOID * lppLocalFree);
  52. #endif