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.

73 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. DataCallback.h
  5. Abstract:
  6. WIA data callback class
  7. Author:
  8. Hakki T. Bostanci (hakkib) 06-Apr-2000
  9. Revision History:
  10. --*/
  11. #ifndef _DATACALLBACK_H_
  12. #define _DATACALLBACK_H_
  13. //////////////////////////////////////////////////////////////////////////
  14. //
  15. //
  16. //
  17. class CDataCallback : public IWiaDataCallback
  18. {
  19. public:
  20. CDataCallback();
  21. ~CDataCallback();
  22. // IUnknown interface
  23. STDMETHOD(QueryInterface)(REFIID iid, LPVOID *ppvObj);
  24. STDMETHOD_(ULONG, AddRef)();
  25. STDMETHOD_(ULONG, Release)();
  26. // IWiaDataCallback interface
  27. STDMETHOD(BandedDataCallback) (
  28. LONG lReason,
  29. LONG lStatus,
  30. LONG lPercentComplete,
  31. LONG lOffset,
  32. LONG lLength,
  33. LONG lReserved,
  34. LONG lResLength,
  35. PBYTE pbBuffer
  36. );
  37. // Debugging / performance functions
  38. void QueryStartTimes(LONG lStatus, LONG lPercentComplete);
  39. void QueryStopTimes(LONG lStatus, LONG lPercentComplete);
  40. void PrintTimes();
  41. PBYTE m_pBuffer;
  42. LONG m_lBufferSize;
  43. LONG m_cRef;
  44. LARGE_INTEGER m_TimeDeviceBegin;
  45. LARGE_INTEGER m_TimeDeviceEnd;
  46. LARGE_INTEGER m_TimeProcessBegin;
  47. LARGE_INTEGER m_TimeProcessEnd;
  48. LARGE_INTEGER m_TimeClientBegin;
  49. LARGE_INTEGER m_TimeClientEnd;
  50. };
  51. #endif //_DATACALLBACK_H_