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.
|
|
#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
|