50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
#ifndef __CDLBSC_INCLUDED__
|
|
#define __CDLBSC_INCLUDED__
|
|
|
|
class CCdlProtocol;
|
|
|
|
class CCodeDLBSC : public IBindStatusCallback
|
|
,public IServiceProvider
|
|
{
|
|
public:
|
|
CCodeDLBSC(IOInetProtocolSink *pIOInetProtocolSink,
|
|
IOInetBindInfo *pIOInetBindInfo,
|
|
CCdlProtocol *pCDLProtocol,
|
|
BOOL fGetClassObject);
|
|
virtual ~CCodeDLBSC();
|
|
HRESULT Abort();
|
|
|
|
// 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);
|
|
|
|
// IServiceProvider
|
|
STDMETHODIMP QueryService(REFGUID rsid, REFIID riid, void ** ppvObj);
|
|
|
|
protected:
|
|
IBinding *_pIBinding; // ibinding from code dl'er
|
|
IOInetProtocolSink *_pOInetProtocolSink;
|
|
IOInetBindInfo *_pIOInetBindInfo;
|
|
CCdlProtocol *_pCDLProtocol;
|
|
IUnknown *_pUnk;
|
|
BOOL _fGetClassObject;
|
|
DWORD _cRef;
|
|
|
|
};
|
|
|
|
#endif
|