Sync with trunk head.
[reactos.git] / include / dxsdk / amaudio.h
1
2 #ifndef __AMAUDIO__
3 #define __AMAUDIO__
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9 #include <mmsystem.h>
10 #include <dsound.h>
11
12 #undef INTERFACE
13 #define INTERFACE IAMDirectSound
14
15 DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
16 {
17 STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
18 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
19 STDMETHOD_(ULONG,Release)(THIS) PURE;
20 STDMETHOD(GetDirectSoundInterface)(THIS_ LPDIRECTSOUND *lplpds) PURE;
21 STDMETHOD(GetPrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
22 STDMETHOD(GetSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
23 STDMETHOD(ReleaseDirectSoundInterface)(THIS_ LPDIRECTSOUND lpds) PURE;
24 STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
25 STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
26 STDMETHOD(SetFocusWindow)(THIS_ HWND, BOOL) PURE ;
27 STDMETHOD(GetFocusWindow)(THIS_ HWND *, BOOL*) PURE ;
28 };
29 #undef INTERFACE
30
31 #ifdef __cplusplus
32 }
33 #endif
34 #endif