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

#ifndef __LOGO3BSC_INCLUDED__
#define __LOGO3BSC_INCLUDED__
#define TIMEOUT_INTERVAL 1000 // milliseconds
void CALLBACK TimeOutProc(HWND hwnd, UINT msg, UINT idEvent, DWORD dwTime);
class Logo3CodeDLBSC : public IBindStatusCallback
{
public:
Logo3CodeDLBSC(CSoftDist *pSoftDist, IBindStatusCallback *pClientBSC,
LPSTR szCodeBase, LPWSTR wzDistUnit);
virtual ~Logo3CodeDLBSC();
// 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);
// Helper Functions
void SetBindCtx(IBindCtx *pbc);
#ifdef LOGO3_SUPPORT_AUTOINSTALL
void TimeOut();
#endif
private:
STDMETHODIMP RecordPrecacheValue(HRESULT hr);
protected:
IBinding *_pIBinding; // ibinding from code dl'er
IBindStatusCallback *_pClientBSC;
IBindCtx *_pbc;
CSoftDist *_pSoftDist;
DWORD _cRef;
LPSTR _szCodeBase;
LPSTR _szDistUnit;
BOOL _bPrecacheOnly;
Cwvt _wvt;
#ifdef LOGO3_SUPPORT_AUTOINSTALL
UINT _uiTimer;
HANDLE _hProc;
#endif
};
#endif