Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

46 lines
1.7 KiB

#ifndef __CDLBSC_INCLUDED__
#define __CDLBSC_INCLUDED__
#include "init.h"
#include <urlmon.h>
#define DOWNLOAD_PROGRESS 0x9001
#define DOWNLOAD_COMPLETE 0x9002
class CodeDownloadBSC : public IBindStatusCallback, public IWindowForBindingUI {
public:
CodeDownloadBSC( HWND hwnd, HWND hdlg, LPITEMIDLIST pidlUpdate = NULL );
virtual ~CodeDownloadBSC();
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);
// IWindowForBindingUI
STDMETHODIMP GetWindow( REFGUID rguidReason, HWND __RPC_FAR *phwnd );
HWND _hdlg; // progress dialog
protected:
IBinding *_pIBinding; // ibinding from code dl'er
DWORD _cRef;
HWND _hwnd; // owner window
LPITEMIDLIST _pidlUpdate; // pidl for item we are updating
};
#endif