Leaked source code of windows server 2003
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.

65 lines
1.9 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORP., 1997
  4. *
  5. * TITLE: IEnumDC.h
  6. *
  7. * VERSION: 1.0
  8. *
  9. * AUTHOR: ByronC
  10. *
  11. * DATE: 16 March, 1999
  12. *
  13. * DESCRIPTION:
  14. * Declaration and definitions for the CEnumDC class, which implements the
  15. * IEnumWIA_DEV_CAPS interface.
  16. *
  17. *******************************************************************************/
  18. HRESULT CopyCaps(ULONG, WIA_DEV_CAP*, WIA_DEV_CAP*);
  19. class CEnumDC : public IEnumWIA_DEV_CAPS
  20. {
  21. private:
  22. ULONG m_ulFlags; // flag, indicating commands or events or both
  23. ULONG m_cRef; // Object reference count.
  24. ULONG m_ulIndex; // Current element.
  25. LONG m_lCount; // Number of items.
  26. WIA_DEV_CAP *m_pDeviceCapabilities; // Array descibing the capabilities
  27. ACTIVE_DEVICE *m_pActiveDevice; // Device object
  28. CWiaItem *m_pCWiaItem; // Parent mini drv
  29. public:
  30. //
  31. // Constructor, initialization and destructor methods.
  32. //
  33. CEnumDC();
  34. HRESULT Initialize(ULONG, CWiaItem*);
  35. HRESULT Initialize(LONG, WIA_EVENT_HANDLER *);
  36. ~CEnumDC();
  37. //
  38. // IUnknown methods.
  39. //
  40. HRESULT _stdcall QueryInterface(const IID& iid, void** ppv);
  41. ULONG _stdcall AddRef();
  42. ULONG _stdcall Release();
  43. //
  44. // IEnumWIA_DEV_CAPS methods
  45. //
  46. HRESULT __stdcall Next(
  47. ULONG celt,
  48. WIA_DEV_CAP *rgelt,
  49. ULONG *pceltFetched);
  50. HRESULT __stdcall Skip(ULONG celt);
  51. HRESULT __stdcall Reset(void);
  52. HRESULT __stdcall Clone(IEnumWIA_DEV_CAPS **ppIEnum);
  53. HRESULT __stdcall GetCount(ULONG *pcelt);
  54. };