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.

49 lines
1.9 KiB

  1. #ifndef __CDLBSC_INCLUDED__
  2. #define __CDLBSC_INCLUDED__
  3. class CCdlProtocol;
  4. class CCodeDLBSC : public IBindStatusCallback
  5. ,public IServiceProvider
  6. {
  7. public:
  8. CCodeDLBSC(IOInetProtocolSink *pIOInetProtocolSink,
  9. IOInetBindInfo *pIOInetBindInfo,
  10. CCdlProtocol *pCDLProtocol,
  11. BOOL fGetClassObject);
  12. virtual ~CCodeDLBSC();
  13. HRESULT Abort();
  14. // IUnknown methods
  15. STDMETHODIMP QueryInterface( REFIID ridd, void **ppv );
  16. STDMETHODIMP_( ULONG ) AddRef();
  17. STDMETHODIMP_( ULONG ) Release();
  18. // IBindStatusCallback methods
  19. STDMETHODIMP GetBindInfo(DWORD *grfBINDINFOF, BINDINFO *pbindinfo);
  20. STDMETHODIMP OnStartBinding(DWORD grfBSCOption, IBinding *pib);
  21. STDMETHODIMP GetPriority(LONG *pnPriority);
  22. STDMETHODIMP OnProgress(ULONG ulProgress, ULONG ulProgressMax,
  23. ULONG ulStatusCode, LPCWSTR szStatusText);
  24. STDMETHODIMP OnDataAvailable(DWORD grfBSCF, DWORD dwSize,
  25. FORMATETC *pformatetc,
  26. STGMEDIUM *pstgmed);
  27. STDMETHODIMP OnObjectAvailable(REFIID riid, IUnknown *punk);
  28. STDMETHODIMP OnLowResource(DWORD dwReserved);
  29. STDMETHODIMP OnStopBinding(HRESULT hresult, LPCWSTR szError);
  30. // IServiceProvider
  31. STDMETHODIMP QueryService(REFGUID rsid, REFIID riid, void ** ppvObj);
  32. protected:
  33. IBinding *_pIBinding; // ibinding from code dl'er
  34. IOInetProtocolSink *_pOInetProtocolSink;
  35. IOInetBindInfo *_pIOInetBindInfo;
  36. CCdlProtocol *_pCDLProtocol;
  37. IUnknown *_pUnk;
  38. BOOL _fGetClassObject;
  39. DWORD _cRef;
  40. };
  41. #endif