Home | History | Annotate | Download | only in include
      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 
     20 #ifndef __AMAUDIO__
     21 #define __AMAUDIO__
     22 
     23 #include <mmsystem.h>
     24 #include <dsound.h>
     25 
     26 #undef INTERFACE
     27 #define INTERFACE IAMDirectSound
     28 
     29 DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
     30 {
     31     /*** IUnknown methods ***/
     32     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
     33     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     34     STDMETHOD_(ULONG,Release)(THIS) PURE;
     35 
     36     /*** IAMDirectSound methods ***/
     37     STDMETHOD(GetDirectSoundInterface)(THIS_ IDirectSound **ds) PURE;
     38     STDMETHOD(GetPrimaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
     39     STDMETHOD(GetSecondaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
     40     STDMETHOD(ReleaseDirectSoundInterface)(THIS_ IDirectSound *ds) PURE;
     41     STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
     42     STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
     43     STDMETHOD(SetFocusWindow)(THIS_ HWND hwnd, WINBOOL bgaudible) PURE;
     44     STDMETHOD(GetFocusWindow)(THIS_ HWND *hwnd, WINBOOL *bgaudible) PURE;
     45 };
     46 #undef INTERFACE
     47 
     48 #endif
     49