cdlabsc.h
资源名称:shell.rar [点击查看]
上传用户:xhy777
上传日期:2007-02-14
资源大小:24088k
文件大小:3k
源码类别:
系统编程
开发平台:
Visual C++
- #ifndef __CDLBSC_INCLUDED__
- #define __CDLBSC_INCLUDED__
- class CDLAgentBSC : public IBindStatusCallback, public IServiceProvider,
- public IInternetHostSecurityManager
- {
- public:
- CDLAgentBSC(CCDLAgent *pcdlagent, DWORD dwMaxSizeKB, BOOL fSilentOperation, LPWSTR szCDFURL);
- virtual ~CDLAgentBSC();
- HRESULT Abort();
- HRESULT Pause();
- HRESULT Resume();
- // IUnknown methods
- STDMETHODIMP QueryInterface( REFIID ridd, void **ppv );
- STDMETHODIMP_( ULONG ) AddRef();
- STDMETHODIMP_( ULONG ) Release();
- // IBindStatusCallback methods
- STDMETHODIMP GetBindInfo(DWORD *grfBINDINFOF, BINDINFO *pbindinfo);
- STDMETHODIMP OnStartBinding(DWORD grfBSCOption, IBinding *pib);
- STDMETHODIMP GetPriority(LONG *pnPriority);
- STDMETHODIMP OnProgress(ULONG ulProgress, ULONG ulProgressMax,
- ULONG ulStatusCode, LPCWSTR szStatusText);
- STDMETHODIMP OnDataAvailable(DWORD grfBSCF, DWORD dwSize,
- FORMATETC *pformatetc,
- STGMEDIUM *pstgmed);
- STDMETHODIMP OnObjectAvailable(REFIID riid, IUnknown *punk);
- STDMETHODIMP OnLowResource(DWORD dwReserved);
- STDMETHODIMP OnStopBinding(HRESULT hresult, LPCWSTR szError);
- // IServiceProvider
- STDMETHODIMP QueryService(REFGUID rsid, REFIID riid, void ** ppvObj);
- // IInternetHostSecurityManager
- STDMETHODIMP GetSecurityId(BYTE *pbSecurityId, DWORD *pcbSecurityId,
- DWORD_PTR dwReserved);
- STDMETHODIMP ProcessUrlAction(DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy,
- BYTE *pContext, DWORD cbContext, DWORD dwFlags,
- DWORD dwReserved);
- STDMETHODIMP QueryCustomPolicy(REFGUID guidKey, BYTE **ppPolicy,
- DWORD *pcbPolicy, BYTE *pContext,
- DWORD cbContext, DWORD dwReserved);
- protected:
- IBinding *m_pIBinding; // ibinding from code dl'er
- CCDLAgent *m_pCdlAgent;
- DWORD m_cRef;
- BOOL m_fSilentOperation;
- DWORD m_dwMaxSize;
- WCHAR m_pwzCDFBase[INTERNET_MAX_URL_LENGTH];
- IInternetSecurityManager *m_pSecMgr;
- };
- #endif
English
