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.

52 lines
2.2 KiB

  1. #ifndef __CDLDELEGATE_INCLUDED__
  2. #define __CDLDELEGATE_INCLUDED__
  3. STDMETHODIMP AsyncDLCodeInstall(CBinding *pCBinding,
  4. IBindStatusCallback *pBSC,
  5. IBinding **ppIBinding,
  6. CCodeDownloadInfo *pCDLInfo);
  7. class CCDLDelegate : public IBindStatusCallback, public IBinding,
  8. public IWindowForBindingUI {
  9. public:
  10. CCDLDelegate(CBinding *pCBinding, IBindStatusCallback *pBSC);
  11. virtual ~CCDLDelegate();
  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 OnProgress(ULONG ulProgress, ULONG ulProgressMax,
  20. ULONG ulStatusCode, LPCWSTR szStatusText);
  21. STDMETHODIMP OnDataAvailable(DWORD grfBSCF, DWORD dwSize,
  22. FORMATETC *pformatetc,
  23. STGMEDIUM *pstgmed);
  24. STDMETHODIMP OnObjectAvailable(REFIID riid, IUnknown *punk);
  25. STDMETHODIMP OnLowResource(DWORD dwReserved);
  26. STDMETHODIMP OnStopBinding(HRESULT hresult, LPCWSTR szError);
  27. STDMETHODIMP GetPriority(LONG *pnPriority);
  28. // IBinding methods
  29. STDMETHODIMP Abort(void);
  30. STDMETHODIMP Suspend(void);
  31. STDMETHODIMP Resume(void);
  32. STDMETHODIMP SetPriority(LONG nPriority);
  33. STDMETHODIMP GetBindResult(CLSID *pclsidProtocol, DWORD *pdwBindResult,
  34. LPWSTR *pszBindResult, DWORD *dwReserved);
  35. // IWindowForBindingUI methods
  36. STDMETHODIMP GetWindow(REFGUID rguidReason, HWND __RPC_FAR *phwnd);
  37. protected:
  38. CBinding *_pCBinding; // CBinding from urlmon (inital dl)
  39. IBindStatusCallback *_pBSC; // BSC from SHDOCVW
  40. IBinding *_pBinding; // ibinding from cdl moniker
  41. DWORD _cRef;
  42. };
  43. #endif