mirror of https://github.com/tongzx/nt5src
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.
70 lines
2.1 KiB
70 lines
2.1 KiB
|
|
// header file for handler specific items
|
|
|
|
#ifndef _HANDER_IMPL_
|
|
#define _HANDER_IMPL_
|
|
|
|
// DEFINE A NEW CLSID FOR EACH HANDLER
|
|
// {97484BA1-26C7-11d1-9A39-0020AFDA97B0}
|
|
DEFINE_GUID(CLSID_OneStopHandler,0x97484ba1, 0x26c7, 0x11d1, 0x9a, 0x39, 0x0, 0x20, 0xaf, 0xda, 0x97, 0xb0);
|
|
|
|
#undef MDBX_VERSION
|
|
#define MDBX_VERSION 0x0c
|
|
|
|
DEFINE_GUID(IID_IMDBX,0x2F63F100+MDBX_VERSION,0x0A2E,0x11CF,0x9F,0xED,0x00,0xAA,0x00,0xB9,0x2B,0x87);
|
|
|
|
//DEFINE_OLEGUID(IID_IMAPIProp, 0x00020303, 0, 0);
|
|
//DEFINE_OLEGUID(IID_IMAPIStatus, 0x00020305 , 0, 0);
|
|
|
|
|
|
// declarations specific to Mail handler
|
|
#include "resource.h"
|
|
|
|
|
|
VOID CALLBACK ProgressUpdate(STDPROG *stg, LPSTR lpcStatusText, INT iCurValue, INT iMaxValue);
|
|
extern "C" HRESULT FormGetFormMessage(LPMAPIFORMINFO pinfo, ULONG FAR *pulReg,
|
|
LPSTR lpcClass, LPMESSAGE FAR *ppmsg); // in IFRMREGU.CPP
|
|
HRESULT HrGetOneProp(LPMAPIPROP lpIProp, ULONG ulTag, LPSPropValue* lppProp);
|
|
|
|
|
|
// override the OneStopHandler Base class
|
|
class CMailHandler : public COneStopHandler
|
|
{
|
|
private:
|
|
BOOL m_fMapiInitialized;
|
|
DWORD m_dwSyncFlags;
|
|
|
|
public:
|
|
CMailHandler();
|
|
~CMailHandler();
|
|
|
|
STDMETHODIMP DestroyHandler();
|
|
STDMETHODIMP Initialize(DWORD dwReserved,DWORD dwSyncFlags,
|
|
DWORD cbCookie,const BYTE *lpCooke);
|
|
STDMETHODIMP GetHandlerInfo(LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo);
|
|
STDMETHODIMP PrepareForSync(ULONG cbNumItems,SYNCMGRITEMID *pItemIDs,
|
|
HWND hwndParent,DWORD dwReserved);
|
|
STDMETHODIMP Synchronize(HWND hwndParent);
|
|
STDMETHODIMP SetItemStatus(REFSYNCMGRITEMID ItemID,DWORD dwSyncMgrStatus);
|
|
STDMETHODIMP ShowError(HWND hWndParent,REFSYNCMGRERRORID ErrorID);
|
|
|
|
// variables added for WorkerThread
|
|
HWND m_hwnd;
|
|
HWND m_hwndParent;
|
|
CRITICAL_SECTION m_CriticalSection;
|
|
BOOL m_fInPrepareForSync;
|
|
BOOL m_fInSynchronize;
|
|
LPHANDLERITEM m_pCurHandlerItem; // set for item that is currently being worked on.
|
|
|
|
void PrepareForSyncCall();
|
|
void SynchronizeCall();
|
|
|
|
private:
|
|
HRESULT GetProfileInformation();
|
|
|
|
friend COneStopHandler* CreateHandlerObject();
|
|
};
|
|
|
|
COneStopHandler* CreateHandlerObject();
|
|
|
|
#endif // #define _HANDER_IMPL_
|