46 lines
1.6 KiB
C++
46 lines
1.6 KiB
C++
// WiaDataCallback.h: interface for the CWiaDataCallback class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_WIADATACALLBACK_H__5125F8A0_29CF_4E4D_9D39_53DF7C29BD88__INCLUDED_)
|
|
#define AFX_WIADATACALLBACK_H__5125F8A0_29CF_4E4D_9D39_53DF7C29BD88__INCLUDED_
|
|
|
|
#include "WiaAcquireDlg.h" // Added by ClassView
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#define MEMORY_BLOCK_FACTOR 2
|
|
|
|
class CWiaDataCallback : public IWiaDataCallback
|
|
{
|
|
public:
|
|
BOOL IsBITMAPDATA();
|
|
BYTE* GetCallbackMemoryPtr(LONG *plDataSize);
|
|
void SetBufferSizeRequest(LONG lBufferSize);
|
|
void SetDialog(CWiaAcquireDlg *pAcquireDlg);
|
|
CWiaAcquireDlg *m_pAcquireDlg;
|
|
CWiaDataCallback();
|
|
virtual ~CWiaDataCallback();
|
|
// IUnknown members that delegate to m_pUnkRef.
|
|
HRESULT _stdcall QueryInterface(const IID&,void**);
|
|
ULONG _stdcall AddRef();
|
|
ULONG _stdcall Release();
|
|
HRESULT _stdcall Initialize(HWND hPreviewWnd = NULL);
|
|
HRESULT _stdcall BandedDataCallback(LONG lMessage, LONG lStatus, LONG lPercentComplete,
|
|
LONG lOffset, LONG lLength, LONG lReserved,
|
|
LONG lResLength, BYTE* pbBuffer);
|
|
private:
|
|
void UpdateAcqusitionDialog(TCHAR *szMessage, LONG lPercentComplete);
|
|
ULONG m_cRef; // Object reference count.
|
|
PBYTE m_pBuffer; // complete data buffer
|
|
LONG m_MemBlockSize;
|
|
LONG m_BytesTransferred;
|
|
long m_lPageCount;
|
|
LONG m_lBufferSize;
|
|
BOOL m_bBitmapData;
|
|
BOOL m_bNewPageArrived;
|
|
};
|
|
|
|
#endif // !defined(AFX_WIADATACALLBACK_H__5125F8A0_29CF_4E4D_9D39_53DF7C29BD88__INCLUDED_)
|