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.

60 lines
2.2 KiB

  1. #ifndef __LOGO3BSC_INCLUDED__
  2. #define __LOGO3BSC_INCLUDED__
  3. #define TIMEOUT_INTERVAL 1000 // milliseconds
  4. void CALLBACK TimeOutProc(HWND hwnd, UINT msg, UINT idEvent, DWORD dwTime);
  5. class Logo3CodeDLBSC : public IBindStatusCallback
  6. {
  7. public:
  8. Logo3CodeDLBSC(CSoftDist *pSoftDist, IBindStatusCallback *pClientBSC,
  9. LPSTR szCodeBase, LPWSTR wzDistUnit);
  10. virtual ~Logo3CodeDLBSC();
  11. // IUnknown methods
  12. STDMETHODIMP QueryInterface( REFIID ridd, void **ppv );
  13. STDMETHODIMP_( ULONG ) AddRef();
  14. STDMETHODIMP_( ULONG ) Release();
  15. // IBindStatusCallback methods
  16. STDMETHODIMP GetBindInfo(DWORD *grfBINDINFOF, BINDINFO *pbindinfo);
  17. STDMETHODIMP OnStartBinding(DWORD grfBSCOption, IBinding *pib);
  18. STDMETHODIMP GetPriority(LONG *pnPriority);
  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. // Helper Functions
  28. void SetBindCtx(IBindCtx *pbc);
  29. #ifdef LOGO3_SUPPORT_AUTOINSTALL
  30. void TimeOut();
  31. #endif
  32. private:
  33. STDMETHODIMP RecordPrecacheValue(HRESULT hr);
  34. protected:
  35. IBinding *_pIBinding; // ibinding from code dl'er
  36. IBindStatusCallback *_pClientBSC;
  37. IBindCtx *_pbc;
  38. CSoftDist *_pSoftDist;
  39. DWORD _cRef;
  40. LPSTR _szCodeBase;
  41. LPSTR _szDistUnit;
  42. BOOL _bPrecacheOnly;
  43. Cwvt _wvt;
  44. #ifdef LOGO3_SUPPORT_AUTOINSTALL
  45. UINT _uiTimer;
  46. HANDLE _hProc;
  47. #endif
  48. };
  49. #endif