amaudio.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #undef INTERFACE
  2. /*
  3. * Copyright (C) 2010 Maarten Lankhorst for CodeWeavers
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2.1 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the Free Software
  17. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  18. */
  19. #ifndef __AMAUDIO__
  20. #define __AMAUDIO__
  21. #include <mmsystem.h>
  22. #include <dsound.h>
  23. #undef INTERFACE
  24. #define INTERFACE IAMDirectSound
  25. DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
  26. {
  27. /*** IUnknown methods ***/
  28. STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
  29. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  30. STDMETHOD_(ULONG,Release)(THIS) PURE;
  31. /*** IAMDirectSound methods ***/
  32. STDMETHOD(GetDirectSoundInterface)(THIS_ IDirectSound **ds) PURE;
  33. STDMETHOD(GetPrimaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
  34. STDMETHOD(GetSecondaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
  35. STDMETHOD(ReleaseDirectSoundInterface)(THIS_ IDirectSound *ds) PURE;
  36. STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
  37. STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
  38. STDMETHOD(SetFocusWindow)(THIS_ HWND hwnd, WINBOOL bgaudible) PURE;
  39. STDMETHOD(GetFocusWindow)(THIS_ HWND *hwnd, WINBOOL *bgaudible) PURE;
  40. };
  41. #undef INTERFACE
  42. #endif