Описание класса, позволяющего получать уведомления о состоянии задания
class CBitsNotifyInterface : public IBackgroundCopyCallback
{
	LONG m_lRefCount;
protected:
	virtual void OnJobTransferred() {};
	virtual void OnProgress( UINT64 nTotal, UINT64 nTransferred, BOOL bIsComplete ) {};
	virtual void OnJobError( LPWSTR wszJobName, LPWSTR wszErrorDescription ) {};
	virtual void OnJobSuspended( CBitsJob* lpJob ) {};
public:
	CBitsNotifyInterface() {m_lRefCount = 1;};
	~CBitsNotifyInterface() {};
	HRESULT __stdcall QueryInterface(REFIID riid, LPVOID *ppvObj);
	ULONG __stdcall AddRef();
	ULONG __stdcall Release();
	HRESULT __stdcall JobTransferred( IBackgroundCopyJob* pJob );
	HRESULT __stdcall JobError( IBackgroundCopyJob* lpJob, IBackgroundCopyError* lpError );
	HRESULT __stdcall JobModification( IBackgroundCopyJob* pJob, DWORD dwReserved );
};

Поделитесь материалом с коллегами и друзьями