// ===================================================================================== // Exchange Rep Header // ===================================================================================== #ifndef __EXCHREP_H #define __EXCHREP_H // ===================================================================================== // Required Headers // ===================================================================================== #include "MAPI.H" #include "MAPIX.H" #include "MAPIUTIL.H" #include "MAPIFORM.H" #include "EXCHEXT.H" #include "ASSERT.H" // ===================================================================================== // Globals // ===================================================================================== extern HINSTANCE g_hInst; // ===================================================================================== // IMNAPI typedefs // ===================================================================================== typedef HRESULT (STDAPICALLTYPE *PFNHRIMNROUTEMESSAGE)(LPIADDRINFO lpIaddrRoute, ULONG cAddrRoute, LPIMSG lpImsg); typedef HRESULT (STDAPICALLTYPE *PFNMAILNEWSDLLINIT)(BOOL fInit); // ===================================================================================== // C Interface Call Back from Exchange // ===================================================================================== extern "C" { LPEXCHEXT CALLBACK ExchEntryPoint(void); } // ===================================================================================== // Main Extension Interface Class // ===================================================================================== class CExchRep : public IExchExt, IExchExtSessionEvents { private: ULONG m_uRef; LPMAPISESSION m_lpSession; HWND m_hwnd; TCHAR m_szDisplayTo[255]; TCHAR m_szAddressTo[255]; TCHAR m_szMailNewsPath[MAX_PATH]; HINSTANCE m_hMailNews; PFNHRIMNROUTEMESSAGE m_lpfnHrImnRouteMessage; PFNMAILNEWSDLLINIT m_lpfnMailNewsDllInit; public: // ===================================================================================== // Construct // ===================================================================================== CExchRep (); ~CExchRep (); // ===================================================================================== // punk stuff // ===================================================================================== STDMETHODIMP QueryInterface (REFIID riid, LPVOID *ppvObj); STDMETHODIMP_(ULONG) AddRef (); STDMETHODIMP_(ULONG) Release (); // ===================================================================================== // IExchExt // ===================================================================================== STDMETHODIMP Install (LPEXCHEXTCALLBACK lpExchCallback, ULONG mecontext, ULONG ulFlags); // ===================================================================================== // IExchExtSessionEvents // ===================================================================================== STDMETHODIMP OnDelivery (LPEXCHEXTCALLBACK lpExchCallback); // ===================================================================================== // My Functions // ===================================================================================== VOID LoadConfig (VOID); }; #endif __EXCHREP_H