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.

79 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1997-2000 Microsoft Corporation All Rights Reserved
  3. Module Name:
  4. hw.h
  5. Abstract:
  6. Declaration of MSVAD HW class.
  7. MSVAD HW has an array for storing mixer and volume settings
  8. for the topology.
  9. --*/
  10. #ifndef _MSVAD_HW_H_
  11. #define _MSVAD_HW_H_
  12. //=============================================================================
  13. // Defines
  14. //=============================================================================
  15. // BUGBUG we should dynamically allocate this...
  16. #define MAX_TOPOLOGY_NODES 20
  17. //=============================================================================
  18. // Classes
  19. //=============================================================================
  20. ///////////////////////////////////////////////////////////////////////////////
  21. // CMSVADHW
  22. // This class represents virtual MSVAD HW. An array representing volume
  23. // registers and mute registers.
  24. class CMSVADHW
  25. {
  26. public:
  27. protected:
  28. BOOL m_MuteControls[MAX_TOPOLOGY_NODES];
  29. LONG m_VolumeControls[MAX_TOPOLOGY_NODES];
  30. ULONG m_ulMux; // Mux selection
  31. private:
  32. public:
  33. CMSVADHW();
  34. void MixerReset();
  35. BOOL GetMixerMute
  36. (
  37. IN ULONG ulNode
  38. );
  39. void SetMixerMute
  40. (
  41. IN ULONG ulNode,
  42. IN BOOL fMute
  43. );
  44. ULONG GetMixerMux();
  45. void SetMixerMux
  46. (
  47. IN ULONG ulNode
  48. );
  49. LONG GetMixerVolume
  50. (
  51. IN ULONG ulNode,
  52. IN LONG lChannel
  53. );
  54. void SetMixerVolume
  55. (
  56. IN ULONG ulNode,
  57. IN LONG lChannel,
  58. IN LONG lVolume
  59. );
  60. protected:
  61. private:
  62. };
  63. typedef CMSVADHW *PCMSVADHW;
  64. #endif