Added LGPL standard comment, and copyright notices where necessary.
[wine] / include / amaudio.h
1 /*
2  * Copyright (C) 2001 Hidenori Takeshima
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_AMAUDIO_H_
20 #define __WINE_AMAUDIO_H_
21
22 #include "ole2.h"
23 #include "mmsystem.h"
24 #include "dsound.h"
25
26 typedef struct IAMDirectSound IAMDirectSound;
27
28
29 /**************************************************************************
30  *
31  * IAMDirectSound interface
32  *
33  */
34
35 #define ICOM_INTERFACE IAMDirectSound
36 #define IAMDirectSound_METHODS \
37     ICOM_METHOD1(HRESULT,GetDirectSoundInterface,LPDIRECTSOUND*,a1) \
38     ICOM_METHOD1(HRESULT,GetPrimaryBufferInterface,LPDIRECTSOUNDBUFFER*,a1) \
39     ICOM_METHOD1(HRESULT,GetSecondaryBufferInterface,LPDIRECTSOUNDBUFFER*,a1) \
40     ICOM_METHOD1(HRESULT,ReleaseDirectSoundInterface,LPDIRECTSOUND,a1) \
41     ICOM_METHOD1(HRESULT,ReleasePrimaryBufferInterface,LPDIRECTSOUNDBUFFER,a1) \
42     ICOM_METHOD1(HRESULT,ReleaseSecondaryBufferInterface,LPDIRECTSOUNDBUFFER,a1) \
43     ICOM_METHOD2(HRESULT,SetFocusWindow,HWND,a1,BOOL,a2) \
44     ICOM_METHOD2(HRESULT,GetFocusWindow,HWND*,a1,BOOL*,a2)
45
46 #define IAMDirectSound_IMETHODS \
47     IUnknown_IMETHODS \
48     IAMDirectSound_METHODS
49
50 ICOM_DEFINE(IAMDirectSound,IUnknown)
51 #undef ICOM_INTERFACE
52
53     /*** IUnknown methods ***/
54 #define IAMDirectSound_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
55 #define IAMDirectSound_AddRef(p) ICOM_CALL (AddRef,p)
56 #define IAMDirectSound_Release(p) ICOM_CALL (Release,p)
57     /*** IAMDirectSound methods ***/
58 #define IAMDirectSound_GetDirectSoundInterface(p,a1) ICOM_CALL1(GetDirectSoundInterface,p,a1)
59 #define IAMDirectSound_GetPrimaryBufferInterface(p,a1) ICOM_CALL1(GetPrimaryBufferInterface,p,a1)
60 #define IAMDirectSound_GetSecondaryBufferInterface(p,a1) ICOM_CALL1(GetSecondaryBufferInterface,p,a1)
61 #define IAMDirectSound_ReleaseDirectSoundInterface(p,a1) ICOM_CALL1(ReleaseDirectSoundInterface,p,a1)
62 #define IAMDirectSound_ReleasePrimaryBufferInterface(p,a1) ICOM_CALL1(ReleasePrimaryBufferInterface,p,a1)
63 #define IAMDirectSound_ReleaseSecondaryBufferInterface(p,a1) ICOM_CALL1(ReleaseSecondaryBufferInterface,p,a1)
64 #define IAMDirectSound_SetFocusWindow(p,a1,a2) ICOM_CALL2(SetFocusWindow,p,a1,a2)
65 #define IAMDirectSound_GetFocusWindow(p,a1,a2) ICOM_CALL2(GetFocusWindow,p,a1,a2)
66
67 #endif  /* __WINE_AMAUDIO_H_ */