Описание класса, позволяющего получать уведомления о состоянии задания
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 );
};