I am giving just rough idea. It is Exchang Client Extension.
Are you trying with OOM or ECE???
This is for ECE.
Try with this:
1. Add ExchEntryPoint into your .def file.
EXPORTS
ExchEntryPoint @1 PRIVATE
2.
LPEXCHEXT CALLBACK ExchEntryPoint()
{
//override this method
}
3. Just Override IExchExt & IExchExtMessageEvents interfaces.
like:
class CExchangeAddin : public IExchExt, // It loads extension objects in
all contexts
public IExchExtMessageEvents // Traping send
button events
{
private: ULONG m_ulRefCount;
public: CExchangeAddin(); ~CExchangeAddin();
private: //For Members
//IUnknown methods
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
STDMETHODIMP QueryInterface ( REFIID riid,void** ppvObj);
//IExchExtMessageEvents method
STDMETHODIMP OnRead(LPEXCHEXTCALLBACK lpeecb);
STDMETHODIMP OnReadComplete(LPEXCHEXTCALLBACK lpeecb, ULONG ulFlags);
STDMETHODIMP OnWrite(LPEXCHEXTCALLBACK lpeecb);
STDMETHODIMP OnWriteComplete(LPEXCHEXTCALLBACK lpeecb, ULONG ulFlags);
STDMETHODIMP OnCheckNames(LPEXCHEXTCALLBACK lpeecb);
STDMETHODIMP OnCheckNamesComplete(LPEXCHEXTCALLBACK lpeecb, ULONG ulFlags);
STDMETHODIMP OnSubmit(LPEXCHEXTCALLBACK lpeecb);
STDMETHODIMP_(VOID) OnSubmitComplete(LPEXCHEXTCALLBACK lpeecb, ULONG
ulFlags);
}
}
5. Just add the string in your registry at
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions
4.0;C:\Irfan.dll(path of your dll);1;111111111111111(Context
map);1111111111(Interface map)