00001
00002
00003
00004
00005
00006 #ifndef __IEWGMONITOR_H_
00007 #define __IEWGMONITOR_H_
00008
00009 #include "resource.h"
00010 #include <urlmon.h>
00011
00012 class ATL_NO_VTABLE CIEWGMonitor :
00013 public CComObjectRootEx<CComSingleThreadModel>,
00014 public CComCoClass<CIEWGMonitor, &CLSID_IEWGMonitor>,
00015 public IInternetProtocol
00016 {
00017 public:
00018 CIEWGMonitor()
00019 {
00020 }
00021
00022 DECLARE_REGISTRY_RESOURCEID(IDR_IEWGMONITOR)
00023
00024 DECLARE_PROTECT_FINAL_CONSTRUCT()
00025
00026 BEGIN_COM_MAP(CIEWGMonitor)
00027 COM_INTERFACE_ENTRY(IInternetProtocol)
00028 COM_INTERFACE_ENTRY(IInternetProtocolRoot)
00029 END_COM_MAP()
00030
00031 public:
00032 protected:
00033 STDMETHOD(UnlockRequest)();
00034 STDMETHOD(Seek )(LARGE_INTEGER, DWORD, ULARGE_INTEGER*);
00035 STDMETHOD(Read )(LPVOID, ULONG, ULONG*);
00036 STDMETHOD(LockRequest )(DWORD);
00037 STDMETHOD(Terminate )(DWORD);
00038 STDMETHOD(Suspend)();
00039 STDMETHOD(Start )(LPCWSTR pszwUrl, IInternetProtocolSink*, IInternetBindInfo*, DWORD, DWORD);
00040 STDMETHOD(Resume)();
00041 STDMETHOD(Continue )(PROTOCOLDATA*);
00042 STDMETHODIMP Abort (HRESULT, DWORD);
00043 };
00044
00045 #endif