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.

90 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 CUnknown
  26. {
  27. private:
  28. BOOL m_fCaptureAllocated;
  29. BOOL m_fRenderAllocated;
  30. public:
  31. DECLARE_STD_UNKNOWN();
  32. DEFINE_STD_CONSTRUCTOR(CMiniportWaveCyclic);
  33. ~CMiniportWaveCyclic();
  34. IMP_IMiniportWaveCyclic;
  35. NTSTATUS PropertyHandlerComponentId
  36. (
  37. IN PPCPROPERTY_REQUEST PropertyRequest
  38. );
  39. // Friends
  40. friend class CMiniportWaveCyclicStream;
  41. friend class CMiniportTopologySimple;
  42. };
  43. typedef CMiniportWaveCyclic *PCMiniportWaveCyclic;
  44. ///////////////////////////////////////////////////////////////////////////////
  45. // CMiniportWaveCyclicStream
  46. //
  47. class CMiniportWaveCyclicStream :
  48. public CMiniportWaveCyclicStreamMSVAD,
  49. public CUnknown
  50. {
  51. protected:
  52. PCMiniportWaveCyclic m_pMiniportLocal;
  53. public:
  54. DECLARE_STD_UNKNOWN();
  55. DEFINE_STD_CONSTRUCTOR(CMiniportWaveCyclicStream);
  56. ~CMiniportWaveCyclicStream();
  57. NTSTATUS Init
  58. (
  59. IN PCMiniportWaveCyclic Miniport,
  60. IN ULONG Channel,
  61. IN BOOLEAN Capture,
  62. IN PKSDATAFORMAT DataFormat
  63. );
  64. // Friends
  65. friend class CMiniportWaveCyclic;
  66. };
  67. typedef CMiniportWaveCyclicStream *PCMiniportWaveCyclicStream;
  68. #endif