cdlbsc.hpp
资源名称:shell.rar [点击查看]
上传用户:xhy777
上传日期:2007-02-14
资源大小:24088k
文件大小:2k
源码类别:
系统编程
开发平台:
Visual C++
- #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
English
