EVNTEXT.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:
Windows编程
开发平台:
Visual C++
- ///////////////////////////////////////////////////////////////////////////////
- //
- // File Name
- // EVNTEXT.H
- //
- // Description
- // Interface Methods are declared in this file for evntext.cpp
- //
- // Author
- // Gary Peluso
- //
- // Revision: 1.00
- //
- // Written for Microsoft Windows Developer Support
- // Copyright (c) 1992-1995 Microsoft Corporation. All rights reserved.
- //
- #ifndef __EVNTEXT_H__
- #define __EVNTEXT_H__
- #include <WINDOWS.H>
- #include <COMMCTRL.H>
- #include <MAPIX.H>
- #include <MAPIUTIL.H>
- #include <MAPIFORM.H>
- #include <EXCHEXT.H>
- #include "RESOURCE.H"
- ///////////////////////////////////////////////////////////////////////////////
- // Prototypes
- //
- extern "C"
- {
- LPEXCHEXT CALLBACK ExchEntryPoint(void);
- }
- void ErrorMessageBox(HWND hWnd, HRESULT hr,
- LPSTR szFunction, LPSTR szMessage);
- HRESULT CalcULONGCheckSum(LPMESSAGE pMessage, ULONG *pulCheckSum);
- BOOL CALLBACK SignatureOptionsDlgProc(HWND hDlg, UINT uMsg,
- WPARAM wParam, LPARAM lParam);
- ///////////////////////////////////////////////////////////////////////////////
- // Global Data Declarations
- //
- extern BOOL bSignatureOn; // defined in EVNTEXT.CPP
- ///////////////////////////////////////////////////////////////////////////////
- // forward declarations
- //
- class MyExchExt;
- class MyExchExtPropertySheets;
- class MyExchExtMessageEvents;
- class MyExchExt : public IExchExt
- {
- public:
- MyExchExt();
- STDMETHODIMP QueryInterface
- (REFIID riid,
- LPVOID * ppvObj);
- inline STDMETHODIMP_(ULONG) AddRef
- () { ++m_cRef; return m_cRef; };
- STDMETHODIMP_(ULONG) Release();
- STDMETHODIMP Install (LPEXCHEXTCALLBACK pmecb,
- ULONG mecontext, ULONG ulFlags);
- private:
- ULONG m_cRef;
- UINT m_context;
- MyExchExtPropertySheets * m_pExchExtPropertySheets;
- MyExchExtMessageEvents * m_pExchExtMessageEvents;
- };
- class MyExchExtPropertySheets : public IExchExtPropertySheets
- {
- public:
- MyExchExtPropertySheets (LPUNKNOWN pParentInterface) {
- m_pExchExt = pParentInterface;
- m_cRef = 0;
- };
- STDMETHODIMP QueryInterface
- (REFIID riid,
- LPVOID * ppvObj);
- inline STDMETHODIMP_(ULONG) AddRef
- () { ++m_cRef; return m_cRef; };
- inline STDMETHODIMP_(ULONG) Release
- () { ULONG ulCount = --m_cRef;
- if (!ulCount) { delete this; }
- return ulCount;};
- STDMETHODIMP_ (ULONG) GetMaxPageCount(ULONG ulFlags);
- STDMETHODIMP GetPages(LPEXCHEXTCALLBACK peecb,
- ULONG ulFlags, LPPROPSHEETPAGE ppsp, ULONG FAR * pcpsp);
- STDMETHODIMP_ (VOID) FreePages(LPPROPSHEETPAGE ppsp, ULONG ulFlags,
- ULONG cpsp);
- private:
- ULONG m_cRef;
- LPUNKNOWN m_pExchExt;
- };
- class MyExchExtMessageEvents : public IExchExtMessageEvents
- {
- public:
- MyExchExtMessageEvents (LPUNKNOWN pParentInterface) {
- m_pExchExt = pParentInterface;
- m_cRef = 0;
- m_bInSubmitState = FALSE;
- };
- STDMETHODIMP QueryInterface
- (REFIID riid,
- LPVOID * ppvObj);
- inline STDMETHODIMP_(ULONG) AddRef
- () { ++m_cRef; return m_cRef; };
- inline STDMETHODIMP_(ULONG) Release
- () { ULONG ulCount = --m_cRef;
- if (!ulCount) { delete this; }
- return ulCount;};
- 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);
- private:
- ULONG m_cRef;
- HRESULT m_hrOnReadComplete;
- BOOL m_bInSubmitState;
- LPUNKNOWN m_pExchExt;
- };
- #endif // __EVNTEXT_H__