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.

54 lines
1.5 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: MixLine.h
  6. * Content: Class for managing the mixerLine API.
  7. *
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 11/30/99 rodtoll Created based on source from dsound
  12. * 01/24/2000 rodtoll Mirroring changes from dsound bug #128264
  13. *
  14. ***************************************************************************/
  15. #ifndef __MIXLINE_H
  16. #define __MIXLINE_H
  17. class CMixerLine
  18. {
  19. public:
  20. CMixerLine();
  21. ~CMixerLine();
  22. HRESULT Initialize( UINT uiDeviceID );
  23. HRESULT SetMicrophoneVolume( LONG lMicrophoneVolume );
  24. HRESULT GetMicrophoneVolume( LPLONG plMicrophoneVolume );
  25. HRESULT SetMasterRecordVolume( LONG lRecordVolume );
  26. HRESULT GetMasterRecordVolume( LPLONG plRecordVolume );
  27. HRESULT EnableMicrophone( BOOL fEnable );
  28. static HRESULT MMRESULTtoHRESULT( MMRESULT mmr );
  29. private:
  30. BOOL m_fMasterMuxIsMux;
  31. BOOL m_fAcquiredVolCtrl;
  32. MIXERCONTROLDETAILS m_mxcdMasterVol;
  33. MIXERCONTROLDETAILS m_mxcdMasterMute;
  34. MIXERCONTROLDETAILS m_mxcdMasterMux;
  35. MIXERCONTROLDETAILS m_mxcdMicVol;
  36. MIXERCONTROLDETAILS m_mxcdMicMute;
  37. MIXERCONTROLDETAILS_UNSIGNED m_mxVolume;
  38. MIXERCONTROLDETAILS_BOOLEAN m_mxMute;
  39. MIXERCONTROLDETAILS_BOOLEAN* m_pmxMuxFlags;
  40. LONG *m_pfMicValue;
  41. DWORD m_dwRangeMin;
  42. DWORD m_dwRangeSize;
  43. UINT m_uWaveDeviceId;
  44. };
  45. #endif