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.

83 lines
3.4 KiB

  1. // =====================================================================================
  2. // Exchange Rep Header
  3. // =====================================================================================
  4. #ifndef __EXCHREP_H
  5. #define __EXCHREP_H
  6. // =====================================================================================
  7. // Required Headers
  8. // =====================================================================================
  9. #include "MAPI.H"
  10. #include "MAPIX.H"
  11. #include "MAPIUTIL.H"
  12. #include "MAPIFORM.H"
  13. #include "EXCHEXT.H"
  14. #include "ASSERT.H"
  15. // =====================================================================================
  16. // Globals
  17. // =====================================================================================
  18. extern HINSTANCE g_hInst;
  19. // =====================================================================================
  20. // IMNAPI typedefs
  21. // =====================================================================================
  22. typedef HRESULT (STDAPICALLTYPE *PFNHRIMNROUTEMESSAGE)(LPIADDRINFO lpIaddrRoute, ULONG cAddrRoute, LPIMSG lpImsg);
  23. typedef HRESULT (STDAPICALLTYPE *PFNMAILNEWSDLLINIT)(BOOL fInit);
  24. // =====================================================================================
  25. // C Interface Call Back from Exchange
  26. // =====================================================================================
  27. extern "C"
  28. {
  29. LPEXCHEXT CALLBACK ExchEntryPoint(void);
  30. }
  31. // =====================================================================================
  32. // Main Extension Interface Class
  33. // =====================================================================================
  34. class CExchRep : public IExchExt, IExchExtSessionEvents
  35. {
  36. private:
  37. ULONG m_uRef;
  38. LPMAPISESSION m_lpSession;
  39. HWND m_hwnd;
  40. TCHAR m_szDisplayTo[255];
  41. TCHAR m_szAddressTo[255];
  42. TCHAR m_szMailNewsPath[MAX_PATH];
  43. HINSTANCE m_hMailNews;
  44. PFNHRIMNROUTEMESSAGE m_lpfnHrImnRouteMessage;
  45. PFNMAILNEWSDLLINIT m_lpfnMailNewsDllInit;
  46. public:
  47. // =====================================================================================
  48. // Construct
  49. // =====================================================================================
  50. CExchRep ();
  51. ~CExchRep ();
  52. // =====================================================================================
  53. // punk stuff
  54. // =====================================================================================
  55. STDMETHODIMP QueryInterface (REFIID riid, LPVOID *ppvObj);
  56. STDMETHODIMP_(ULONG) AddRef ();
  57. STDMETHODIMP_(ULONG) Release ();
  58. // =====================================================================================
  59. // IExchExt
  60. // =====================================================================================
  61. STDMETHODIMP Install (LPEXCHEXTCALLBACK lpExchCallback, ULONG mecontext, ULONG ulFlags);
  62. // =====================================================================================
  63. // IExchExtSessionEvents
  64. // =====================================================================================
  65. STDMETHODIMP OnDelivery (LPEXCHEXTCALLBACK lpExchCallback);
  66. // =====================================================================================
  67. // My Functions
  68. // =====================================================================================
  69. VOID LoadConfig (VOID);
  70. };
  71. #endif __EXCHREP_H