Leaked source code of windows server 2003
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.

58 lines
2.5 KiB

  1. #ifndef __CDLBSC_INCLUDED__
  2. #define __CDLBSC_INCLUDED__
  3. class CDLAgentBSC : public IBindStatusCallback, public IServiceProvider,
  4. public IInternetHostSecurityManager
  5. {
  6. public:
  7. CDLAgentBSC(CCDLAgent *pcdlagent, DWORD dwMaxSizeKB, BOOL fSilentOperation, LPWSTR szCDFURL);
  8. virtual ~CDLAgentBSC();
  9. HRESULT Abort();
  10. HRESULT Pause();
  11. HRESULT Resume();
  12. // IUnknown methods
  13. STDMETHODIMP QueryInterface( REFIID ridd, void **ppv );
  14. STDMETHODIMP_( ULONG ) AddRef();
  15. STDMETHODIMP_( ULONG ) Release();
  16. // IBindStatusCallback methods
  17. STDMETHODIMP GetBindInfo(DWORD *grfBINDINFOF, BINDINFO *pbindinfo);
  18. STDMETHODIMP OnStartBinding(DWORD grfBSCOption, IBinding *pib);
  19. STDMETHODIMP GetPriority(LONG *pnPriority);
  20. STDMETHODIMP OnProgress(ULONG ulProgress, ULONG ulProgressMax,
  21. ULONG ulStatusCode, LPCWSTR szStatusText);
  22. STDMETHODIMP OnDataAvailable(DWORD grfBSCF, DWORD dwSize,
  23. FORMATETC *pformatetc,
  24. STGMEDIUM *pstgmed);
  25. STDMETHODIMP OnObjectAvailable(REFIID riid, IUnknown *punk);
  26. STDMETHODIMP OnLowResource(DWORD dwReserved);
  27. STDMETHODIMP OnStopBinding(HRESULT hresult, LPCWSTR szError);
  28. // IServiceProvider
  29. STDMETHODIMP QueryService(REFGUID rsid, REFIID riid, void ** ppvObj);
  30. // IInternetHostSecurityManager
  31. STDMETHODIMP GetSecurityId(BYTE *pbSecurityId, DWORD *pcbSecurityId,
  32. DWORD_PTR dwReserved);
  33. STDMETHODIMP ProcessUrlAction(DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy,
  34. BYTE *pContext, DWORD cbContext, DWORD dwFlags,
  35. DWORD dwReserved);
  36. STDMETHODIMP QueryCustomPolicy(REFGUID guidKey, BYTE **ppPolicy,
  37. DWORD *pcbPolicy, BYTE *pContext,
  38. DWORD cbContext, DWORD dwReserved);
  39. protected:
  40. IBinding *m_pIBinding; // ibinding from code dl'er
  41. CCDLAgent *m_pCdlAgent;
  42. DWORD m_cRef;
  43. BOOL m_fSilentOperation;
  44. DWORD m_dwMaxSize;
  45. WCHAR m_pwzCDFBase[INTERNET_MAX_URL_LENGTH];
  46. IInternetSecurityManager *m_pSecMgr;
  47. };
  48. #endif