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.

91 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1997-2000 Microsoft Corporation All Rights Reserved
  3. Module Name:
  4. minwave.h
  5. Abstract:
  6. Definition of wavecyclic miniport class.
  7. --*/
  8. #ifndef _MSVAD_MINWAVE_H_
  9. #define _MSVAD_MINWAVE_H_
  10. #include "basewave.h"
  11. //=============================================================================
  12. // Referenced Forward
  13. //=============================================================================
  14. class CMiniportWaveCyclicStream;
  15. typedef CMiniportWaveCyclicStream *PCMiniportWaveCyclicStream;
  16. //=============================================================================
  17. // Classes
  18. //=============================================================================
  19. ///////////////////////////////////////////////////////////////////////////////
  20. // CMiniportWaveCyclic
  21. //
  22. class CMiniportWaveCyclic :
  23. public CMiniportWaveCyclicMSVAD,
  24. public IMiniportWaveCyclic,
  25. public IPinCount,
  26. public CUnknown
  27. {
  28. private:
  29. PCMiniportWaveCyclicStream m_pStream[MAX_INPUT_STREAMS];
  30. BOOL m_fCaptureAllocated;
  31. public:
  32. DECLARE_STD_UNKNOWN();
  33. DEFINE_STD_CONSTRUCTOR(CMiniportWaveCyclic);
  34. ~CMiniportWaveCyclic();
  35. IMP_IMiniportWaveCyclic;
  36. /*************************************************************************
  37. * IPinCount methods
  38. */
  39. IMP_IPinCount;
  40. // Friends
  41. friend class CMiniportWaveCyclicStream;
  42. friend class CMiniportTopologySimple;
  43. };
  44. typedef CMiniportWaveCyclic *PCMiniportWaveCyclic;
  45. ///////////////////////////////////////////////////////////////////////////////
  46. // CMiniportWaveCyclicStream
  47. //
  48. class CMiniportWaveCyclicStream :
  49. public CMiniportWaveCyclicStreamMSVAD,
  50. public CUnknown
  51. {
  52. protected:
  53. PCMiniportWaveCyclic m_pMiniportLocal;
  54. public:
  55. DECLARE_STD_UNKNOWN();
  56. DEFINE_STD_CONSTRUCTOR(CMiniportWaveCyclicStream);
  57. ~CMiniportWaveCyclicStream();
  58. NTSTATUS Init
  59. (
  60. IN PCMiniportWaveCyclic Miniport,
  61. IN ULONG Channel,
  62. IN BOOLEAN Capture,
  63. IN PKSDATAFORMAT DataFormat
  64. );
  65. // Friends
  66. friend class CMiniportWaveCyclic;
  67. };
  68. typedef CMiniportWaveCyclicStream *PCMiniportWaveCyclicStream;
  69. #endif