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

// =====================================================================================
// 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