19#ifndef __DSOUND_INCLUDED__
20#define __DSOUND_INCLUDED__
22#ifndef DIRECTSOUND_VERSION
23#define DIRECTSOUND_VERSION 0x0900
26#define COM_NO_WINDOWS_H
34#ifndef DX_SHARED_DEFINES
38#ifndef D3DCOLOR_DEFINED
40#define D3DCOLOR_DEFINED
43#ifndef D3DVECTOR_DEFINED
49#define D3DVECTOR_DEFINED
52#ifndef LPD3DVECTOR_DEFINED
54#define LPD3DVECTOR_DEFINED
57#define DX_SHARED_DEFINES
63DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
64DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
65DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
66DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
67DEFINE_GUID(CLSID_DirectSoundFullDuplex,0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
69DEFINE_GUID(IID_IDirectSound, 0x279AFA83,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
72DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93,0xF395,0x4834,0x9E,0xF6,0x7F,0xA9,0x9D,0xE5,0x09,0x66);
75DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
78DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825A449,0x7524,0x4D82,0x92,0x0F,0x50,0xE3,0x6A,0xB3,0xAB,0x1E);
81DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
83#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
85DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
88DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
91DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
93#define IID_IDirectSoundCapture8 IID_IDirectSoundCapture
96DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xB0210782,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
99DEFINE_GUID(IID_IDirectSoundCaptureBuffer8,0x00990DF4,0x0DBB,0x4872,0x83,0x3E,0x6D,0x30,0x3E,0x80,0xAE,0xB6);
102DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);
104#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
106DEFINE_GUID(DSDEVID_DefaultPlayback, 0xDEF00000,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
107DEFINE_GUID(DSDEVID_DefaultCapture, 0xDEF00001,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
108DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xDEF00002,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
109DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xDEF00003,0x9C6D,0x47ED,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
111DEFINE_GUID(DSDEVID_WinePlayback, 0x40316A1D,0x605B,0xD611,0x87,0xC6,0x00,0x80,0xAD,0x00,0x02,0xFE);
114#define MAKE_DSHRESULT(code) MAKE_HRESULT(1,_FACDS,code)
117#define DS_NO_VIRTUALIZATION MAKE_HRESULT(0, _FACDS, 10)
118#define DS_INCOMPLETE MAKE_HRESULT(0, _FACDS, 20)
119#define DSERR_ALLOCATED MAKE_DSHRESULT(10)
120#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
121#define DSERR_INVALIDPARAM E_INVALIDARG
122#define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
123#define DSERR_GENERIC E_FAIL
124#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
125#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
126#define DSERR_BADFORMAT MAKE_DSHRESULT(100)
127#define DSERR_UNSUPPORTED E_NOTIMPL
128#define DSERR_NODRIVER MAKE_DSHRESULT(120)
129#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
130#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
131#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
132#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
133#define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
134#define DSERR_NOINTERFACE E_NOINTERFACE
135#define DSERR_ACCESSDENIED E_ACCESSDENIED
136#define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT(180)
137#define DSERR_DS8_REQUIRED MAKE_DSHRESULT(190)
138#define DSERR_SENDLOOP MAKE_DSHRESULT(200)
139#define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT(210)
140#define DSERR_FXUNAVAILABLE MAKE_DSHRESULT(220)
141#define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT(4449)
143#define DSCAPS_PRIMARYMONO 0x00000001
144#define DSCAPS_PRIMARYSTEREO 0x00000002
145#define DSCAPS_PRIMARY8BIT 0x00000004
146#define DSCAPS_PRIMARY16BIT 0x00000008
147#define DSCAPS_CONTINUOUSRATE 0x00000010
148#define DSCAPS_EMULDRIVER 0x00000020
149#define DSCAPS_CERTIFIED 0x00000040
150#define DSCAPS_SECONDARYMONO 0x00000100
151#define DSCAPS_SECONDARYSTEREO 0x00000200
152#define DSCAPS_SECONDARY8BIT 0x00000400
153#define DSCAPS_SECONDARY16BIT 0x00000800
155#define DSSCL_NORMAL 1
156#define DSSCL_PRIORITY 2
157#define DSSCL_EXCLUSIVE 3
158#define DSSCL_WRITEPRIMARY 4
189#define DSBPLAY_LOOPING 0x00000001
190#define DSBPLAY_LOCHARDWARE 0x00000002
191#define DSBPLAY_LOCSOFTWARE 0x00000004
192#define DSBPLAY_TERMINATEBY_TIME 0x00000008
193#define DSBPLAY_TERMINATEBY_DISTANCE 0x000000010
194#define DSBPLAY_TERMINATEBY_PRIORITY 0x000000020
196#define DSBSTATUS_PLAYING 0x00000001
197#define DSBSTATUS_BUFFERLOST 0x00000002
198#define DSBSTATUS_LOOPING 0x00000004
199#define DSBSTATUS_LOCHARDWARE 0x00000008
200#define DSBSTATUS_LOCSOFTWARE 0x00000010
201#define DSBSTATUS_TERMINATED 0x00000020
203#define DSBLOCK_FROMWRITECURSOR 0x00000001
204#define DSBLOCK_ENTIREBUFFER 0x00000002
206#define DSBCAPS_PRIMARYBUFFER 0x00000001
207#define DSBCAPS_STATIC 0x00000002
208#define DSBCAPS_LOCHARDWARE 0x00000004
209#define DSBCAPS_LOCSOFTWARE 0x00000008
210#define DSBCAPS_CTRL3D 0x00000010
211#define DSBCAPS_CTRLFREQUENCY 0x00000020
212#define DSBCAPS_CTRLPAN 0x00000040
213#define DSBCAPS_CTRLVOLUME 0x00000080
214#define DSBCAPS_CTRLDEFAULT 0x000000E0
215#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
216#define DSBCAPS_CTRLFX 0x00000200
217#define DSBCAPS_CTRLALL 0x000001F0
218#define DSBCAPS_STICKYFOCUS 0x00004000
219#define DSBCAPS_GLOBALFOCUS 0x00008000
220#define DSBCAPS_GETCURRENTPOSITION2 0x00010000
221#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
222#define DSBCAPS_LOCDEFER 0x00040000
225#define DSBSIZE_MAX 0xFFFFFFF
226#define DSBPAN_LEFT -10000
227#define DSBPAN_CENTER 0
228#define DSBPAN_RIGHT 10000
229#define DSBVOLUME_MAX 0
230#define DSBVOLUME_MIN -10000
231#define DSBFREQUENCY_MIN 100
232#define DSBFREQUENCY_MAX 200000
233#define DSBFREQUENCY_ORIGINAL 0
235#define DSBNOTIFICATIONS_MAX 100000U
247#define DSSCL_NORMAL 1
248#define DSSCL_PRIORITY 2
249#define DSSCL_EXCLUSIVE 3
250#define DSSCL_WRITEPRIMARY 4
262#define DSFX_LOCHARDWARE 0x00000001
263#define DSFX_LOCSOFTWARE 0x00000002
304#define DSSPEAKER_DIRECTOUT 0
305#define DSSPEAKER_HEADPHONE 1
306#define DSSPEAKER_MONO 2
307#define DSSPEAKER_QUAD 3
308#define DSSPEAKER_STEREO 4
309#define DSSPEAKER_SURROUND 5
310#define DSSPEAKER_5POINT1 6
311#define DSSPEAKER_5POINT1_BACK 6
312#define DSSPEAKER_7POINT1 7
313#define DSSPEAKER_7POINT1_WIDE 7
314#define DSSPEAKER_7POINT1_SURROUND 8
315#define DSSPEAKER_5POINT1_SURROUND 9
317#define DSSPEAKER_GEOMETRY_MIN 0x00000005
318#define DSSPEAKER_GEOMETRY_NARROW 0x0000000A
319#define DSSPEAKER_GEOMETRY_WIDE 0x00000014
320#define DSSPEAKER_GEOMETRY_MAX 0x000000B4
322#define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
323#define DSSPEAKER_CONFIG(a) ((BYTE)(a))
324#define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
326#define DS_CERTIFIED 0x00000000
327#define DS_UNCERTIFIED 0x00000001
340#define DSCFX_LOCHARDWARE 0x00000001
341#define DSCFX_LOCSOFTWARE 0x00000002
343#define DSCFXR_LOCHARDWARE 0x00000010
344#define DSCFXR_LOCSOFTWARE 0x00000020
385#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
386#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
387#define DSCCAPS_MULTIPLECAPTURE 0x00000001
389#define DSCBCAPS_WAVEMAPPED 0x80000000
390#define DSCBCAPS_CTRLFX 0x00000200
392#define DSCBLOCK_ENTIREBUFFER 0x00000001
393#define DSCBSTART_LOOPING 0x00000001
394#define DSCBPN_OFFSET_STOP 0xffffffff
396#define DSCBSTATUS_CAPTURING 0x00000001
397#define DSCBSTATUS_LOOPING 0x00000002
399#ifndef __LPCGUID_DEFINED__
400#define __LPCGUID_DEFINED__
411#define DirectSoundEnumerate WINELIB_NAME_AW(DirectSoundEnumerate)
415#define DirectSoundCaptureEnumerate WINELIB_NAME_AW(DirectSoundCaptureEnumerate)
422#define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
430#define INTERFACE IDirectSound
449#if !defined(__cplusplus) || defined(CINTERFACE)
451#define IDirectSound_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
452#define IDirectSound_AddRef(p) (p)->lpVtbl->AddRef(p)
453#define IDirectSound_Release(p) (p)->lpVtbl->Release(p)
455#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
456#define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
457#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
458#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
459#define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
460#define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
461#define IDirectSound_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
462#define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
465#define IDirectSound_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
466#define IDirectSound_AddRef(p) (p)->AddRef()
467#define IDirectSound_Release(p) (p)->Release()
469#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
470#define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
471#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
472#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
473#define IDirectSound_Compact(p) (p)->Compact()
474#define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
475#define IDirectSound_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
476#define IDirectSound_Initialize(p,a) (p)->Initialize(a)
483#define INTERFACE IDirectSound8
503#if !defined(__cplusplus) || defined(CINTERFACE)
505#define IDirectSound8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
506#define IDirectSound8_AddRef(p) (p)->lpVtbl->AddRef(p)
507#define IDirectSound8_Release(p) (p)->lpVtbl->Release(p)
509#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
510#define IDirectSound8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
511#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
512#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
513#define IDirectSound8_Compact(p) (p)->lpVtbl->Compact(p)
514#define IDirectSound8_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
515#define IDirectSound8_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
516#define IDirectSound8_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
518#define IDirectSound8_VerifyCertification(p,a) (p)->lpVtbl->VerifyCertification(p,a)
521#define IDirectSound8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
522#define IDirectSound8_AddRef(p) (p)->AddRef()
523#define IDirectSound8_Release(p) (p)->Release()
525#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
526#define IDirectSound8_GetCaps(p,a) (p)->GetCaps(a)
527#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
528#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
529#define IDirectSound8_Compact(p) (p)->Compact()
530#define IDirectSound8_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
531#define IDirectSound8_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
532#define IDirectSound8_Initialize(p,a) (p)->Initialize(a)
534#define IDirectSound8_VerifyCertification(p,a) (p)->VerifyCertification(a)
541#define INTERFACE IDirectSoundBuffer
570#if !defined(__cplusplus) || defined(CINTERFACE)
572#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
573#define IDirectSoundBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
574#define IDirectSoundBuffer_Release(p) (p)->lpVtbl->Release(p)
576#define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
577#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
578#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
579#define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
580#define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
581#define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
582#define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
583#define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
584#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
585#define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
586#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
587#define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
588#define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
589#define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
590#define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
591#define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
592#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
593#define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
596#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
597#define IDirectSoundBuffer_AddRef(p) (p)->AddRef()
598#define IDirectSoundBuffer_Release(p) (p)->Release()
600#define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
601#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
602#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
603#define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
604#define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
605#define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
606#define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
607#define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
608#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
609#define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
610#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
611#define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
612#define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
613#define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
614#define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
615#define IDirectSoundBuffer_Stop(p) (p)->Stop()
616#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
617#define IDirectSoundBuffer_Restore(p) (p)->Restore()
624#define INTERFACE IDirectSoundBuffer8
656#if !defined(__cplusplus) || defined(CINTERFACE)
658#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
659#define IDirectSoundBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
660#define IDirectSoundBuffer8_Release(p) (p)->lpVtbl->Release(p)
662#define IDirectSoundBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
663#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
664#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
665#define IDirectSoundBuffer8_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
666#define IDirectSoundBuffer8_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
667#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
668#define IDirectSoundBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
669#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
670#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
671#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
672#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
673#define IDirectSoundBuffer8_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
674#define IDirectSoundBuffer8_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
675#define IDirectSoundBuffer8_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
676#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
677#define IDirectSoundBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
678#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
679#define IDirectSoundBuffer8_Restore(p) (p)->lpVtbl->Restore(p)
681#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->lpVtbl->SetFX(p,a,b,c)
682#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->lpVtbl->AcquireResources(p,a,b,c)
683#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
686#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
687#define IDirectSoundBuffer8_AddRef(p) (p)->AddRef()
688#define IDirectSoundBuffer8_Release(p) (p)->Release()
690#define IDirectSoundBuffer8_GetCaps(p,a) (p)->GetCaps(a)
691#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
692#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
693#define IDirectSoundBuffer8_GetVolume(p,a) (p)->GetVolume(a)
694#define IDirectSoundBuffer8_GetPan(p,a) (p)->GetPan(a)
695#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->GetFrequency(a)
696#define IDirectSoundBuffer8_GetStatus(p,a) (p)->GetStatus(a)
697#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
698#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
699#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->Play(a,b,c)
700#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
701#define IDirectSoundBuffer8_SetFormat(p,a) (p)->SetFormat(a)
702#define IDirectSoundBuffer8_SetVolume(p,a) (p)->SetVolume(a)
703#define IDirectSoundBuffer8_SetPan(p,a) (p)->SetPan(a)
704#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->SetFrequency(a)
705#define IDirectSoundBuffer8_Stop(p) (p)->Stop()
706#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
707#define IDirectSoundBuffer8_Restore(p) (p)->Restore()
709#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->SetFX(a,b,c)
710#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->AcquireResources(a,b,c)
711#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
718#define INTERFACE IDirectSoundCapture
732#if !defined(__cplusplus) || defined(CINTERFACE)
734#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
735#define IDirectSoundCapture_AddRef(p) (p)->lpVtbl->AddRef(p)
736#define IDirectSoundCapture_Release(p) (p)->lpVtbl->Release(p)
738#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
739#define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
740#define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
743#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
744#define IDirectSoundCapture_AddRef(p) (p)->AddRef()
745#define IDirectSoundCapture_Release(p) (p)->Release()
747#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
748#define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
749#define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
755#define INTERFACE IDirectSoundCaptureBuffer
775#if !defined(__cplusplus) || defined(CINTERFACE)
777#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
778#define IDirectSoundCaptureBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
779#define IDirectSoundCaptureBuffer_Release(p) (p)->lpVtbl->Release(p)
781#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
782#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
783#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
784#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
785#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
786#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
787#define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
788#define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
789#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
792#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
793#define IDirectSoundCaptureBuffer_AddRef(p) (p)->AddRef()
794#define IDirectSoundCaptureBuffer_Release(p) (p)->Release()
796#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
797#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
798#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
799#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
800#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
801#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
802#define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
803#define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
804#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
810#define INTERFACE IDirectSoundCaptureBuffer8
833#if !defined(__cplusplus) || defined(CINTERFACE)
835#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
836#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
837#define IDirectSoundCaptureBuffer8_Release(p) (p)->lpVtbl->Release(p)
839#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
840#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
841#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
842#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
843#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
844#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
845#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->lpVtbl->Start(p,a)
846#define IDirectSoundCaptureBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
847#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
849#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
850#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->lpVtbl->GetFXStatus(p,a,b)
853#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
854#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->AddRef()
855#define IDirectSoundCaptureBuffer8_Release(p) (p)->Release()
857#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->GetCaps(a)
858#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
859#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
860#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->GetStatus(a)
861#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
862#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
863#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->Start(a)
864#define IDirectSoundCaptureBuffer8_Stop(p) (p)->Stop()
865#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
867#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
868#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->GetFXStatus(a,b)
874#define WINE_NOBUFFER 0x80000000
876#define DSBPN_OFFSETSTOP -1
878#define INTERFACE IDirectSoundNotify
890#if !defined(__cplusplus) || defined(CINTERFACE)
892#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
893#define IDirectSoundNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
894#define IDirectSoundNotify_Release(p) (p)->lpVtbl->Release(p)
896#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
899#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
900#define IDirectSoundNotify_AddRef(p) (p)->AddRef()
901#define IDirectSoundNotify_Release(p) (p)->Release()
903#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
910#define DS3DMODE_NORMAL 0x00000000
911#define DS3DMODE_HEADRELATIVE 0x00000001
912#define DS3DMODE_DISABLE 0x00000002
914#define DS3D_IMMEDIATE 0x00000000
915#define DS3D_DEFERRED 0x00000001
917#define DS3D_MINDISTANCEFACTOR FLT_MIN
918#define DS3D_MAXDISTANCEFACTOR FLT_MAX
919#define DS3D_DEFAULTDISTANCEFACTOR 1.0f
921#define DS3D_MINROLLOFFFACTOR 0.0f
922#define DS3D_MAXROLLOFFFACTOR 10.0f
923#define DS3D_DEFAULTROLLOFFFACTOR 1.0f
925#define DS3D_MINDOPPLERFACTOR 0.0f
926#define DS3D_MAXDOPPLERFACTOR 10.0f
927#define DS3D_DEFAULTDOPPLERFACTOR 1.0f
929#define DS3D_DEFAULTMINDISTANCE 1.0f
930#define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
932#define DS3D_MINCONEANGLE 0
933#define DS3D_MAXCONEANGLE 360
934#define DS3D_DEFAULTCONEANGLE 360
936#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
951#define INTERFACE IDirectSound3DListener
977#if !defined(__cplusplus) || defined(CINTERFACE)
979#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
980#define IDirectSound3DListener_AddRef(p) (p)->lpVtbl->AddRef(p)
981#define IDirectSound3DListener_Release(p) (p)->lpVtbl->Release(p)
983#define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
984#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
985#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
986#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
987#define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
988#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
989#define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
990#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
991#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
992#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
993#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
994#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
995#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
996#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
997#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
1000#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1001#define IDirectSound3DListener_AddRef(p) (p)->AddRef()
1002#define IDirectSound3DListener_Release(p) (p)->Release()
1004#define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
1005#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
1006#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
1007#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
1008#define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
1009#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
1010#define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
1011#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
1012#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
1013#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
1014#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1015#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1016#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
1017#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
1018#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
1040#define INTERFACE IDirectSound3DBuffer
1069#if !defined(__cplusplus) || defined(CINTERFACE)
1071#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1072#define IDirectSound3DBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
1073#define IDirectSound3DBuffer_Release(p) (p)->lpVtbl->Release(p)
1075#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
1076#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
1077#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
1078#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
1079#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
1080#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
1081#define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
1082#define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
1083#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
1084#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
1085#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
1086#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
1087#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->lpVtbl->SetConeOutsideVolume(p,a,b)
1088#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
1089#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
1090#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
1091#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1092#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
1095#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1096#define IDirectSound3DBuffer_AddRef(p) (p)->AddRef()
1097#define IDirectSound3DBuffer_Release(p) (p)->Release()
1099#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
1100#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
1101#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
1102#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
1103#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
1104#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
1105#define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
1106#define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
1107#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
1108#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
1109#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
1110#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
1111#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->SetConeOutsideVolume(a,b)
1112#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
1113#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
1114#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
1115#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1116#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
1122#ifndef _IKsPropertySet_
1123#define _IKsPropertySet_
1127DEFINE_GUID(
IID_IKsPropertySet,0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93);
1129#define KSPROPERTY_SUPPORT_GET 1
1130#define KSPROPERTY_SUPPORT_SET 2
1132#define INTERFACE IKsPropertySet
1146#if !defined(__cplusplus) || defined(CINTERFACE)
1148#define IKsPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1149#define IKsPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
1150#define IKsPropertySet_Release(p) (p)->lpVtbl->Release(p)
1152#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
1153#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
1154#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
1157#define IKsPropertySet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1158#define IKsPropertySet_AddRef(p) (p)->AddRef()
1159#define IKsPropertySet_Release(p) (p)->Release()
1161#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
1162#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
1163#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
1171#define INTERFACE IDirectSoundFullDuplex
1183#if !defined(__cplusplus) || defined(CINTERFACE)
1185#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1186#define IDirectSoundFullDuplex_AddRef(p) (p)->lpVtbl->AddRef(p)
1187#define IDirectSoundFullDuplex_Release(p) (p)->lpVtbl->Release(p)
1189#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Initialize(p,a,b,c,d,e,f,g,h)
1192#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1193#define IDirectSoundFullDuplex_AddRef(p) (p)->AddRef()
1194#define IDirectSoundFullDuplex_Release(p) (p)->Release()
1196#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->Initialize(a,b,c,d,e,f,g,h)
#define GetStatus(BaseIoAddress, Status)
#define DECLARE_INTERFACE_(i, b)
const GUID IID_IKsPropertySet
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
struct IDirectSoundNotify ** LPLPDIRECTSOUNDNOTIFY
struct _DSEFFECTDESC DSEFFECTDESC
struct _DSBUFFERDESC DSBUFFERDESC
BOOL(CALLBACK * LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPVOID)
const DSCEFFECTDESC * LPCDSCEFFECTDESC
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE
struct IDirectSound ** LPLPDIRECTSOUND
struct IDirectSoundCaptureBuffer ** LPLPDIRECTSOUNDCAPTUREBUFFER
struct IDirectSoundCaptureBuffer * LPDIRECTSOUNDCAPTUREBUFFER
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
const DSBUFFERDESC1 * LPCDSBUFFERDESC1
struct _DSBUFFERDESC1 DSBUFFERDESC1
struct IDirectSoundCaptureBuffer8 * LPDIRECTSOUNDCAPTUREBUFFER8
const DSBCAPS * LPCDSBCAPS
struct IDirectSoundFullDuplex * LPDIRECTSOUNDFULLDUPLEX
struct _D3DVECTOR D3DVECTOR
struct IDirectSoundBuffer ** LPLPDIRECTSOUNDBUFFER
struct _DSBCAPS * LPDSBCAPS
const DS3DBUFFER * LPCDS3DBUFFER
struct _DSBPOSITIONNOTIFY DSBPOSITIONNOTIFY
struct _DSCBUFFERDESC * LPDSCBUFFERDESC
HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID)
struct IDirectSound3DBuffer * LPDIRECTSOUND3DBUFFER
const DSEFFECTDESC * LPCDSEFFECTDESC
struct IDirectSoundCapture ** LPLPDIRECTSOUNDCAPTURE
struct IDirectSoundBuffer8 ** LPLPDIRECTSOUNDBUFFER8
struct _DSCCAPS * LPDSCCAPS
struct IKsPropertySet * LPKSPROPERTYSET
struct _DSEFFECTDESC * LPDSEFFECTDESC
HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice, LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd, DWORD dwLevel, LPDIRECTSOUNDFULLDUPLEX *ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8, LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter)
struct _DSCEFFECTDESC DSCEFFECTDESC
struct IDirectSound3DListener * LPDIRECTSOUND3DLISTENER
const DSCBCAPS * LPCDSCBCAPS
HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW, LPVOID)
struct IDirectSoundCaptureBuffer8 ** LPLPDIRECTSOUNDCAPTUREBUFFER8
struct _DSCAPS * LPDSCAPS
struct IDirectSound * LPDIRECTSOUND
struct IDirectSound8 ** LPLPDIRECTSOUND8
struct _DS3DBUFFER * LPDS3DBUFFER
struct IDirectSoundFullDuplex ** LPLPDIRECTSOUNDFULLDUPLEX
struct _DSCEFFECTDESC * LPDSCEFFECTDESC
HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA, LPVOID)
const DS3DLISTENER * LPCDS3DLISTENER
struct _DS3DLISTENER * LPDS3DLISTENER
struct IDirectSound8 * LPDIRECTSOUND8
struct _DSBUFFERDESC * LPDSBUFFERDESC
const DSCCAPS * LPCDSCCAPS
struct IDirectSoundCapture IDirectSoundCapture8
struct IDirectSoundNotify * LPDIRECTSOUNDNOTIFY
BOOL(CALLBACK * LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID)
struct IDirectSoundCapture ** LPLPDIRECTSOUNDCAPTURE8
struct _DSBUFFERDESC1 * LPDSBUFFERDESC1
HRESULT WINAPI DirectSoundCreate(LPCGUID lpGUID, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter)
struct _DSCBUFFERDESC1 * LPDSCBUFFERDESC1
struct _DSCBUFFERDESC DSCBUFFERDESC
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter)
HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter)
struct IDirectSound3DBuffer ** LPLPDIRECTSOUND3DBUFFER
HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID)
HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest)
struct _DS3DBUFFER DS3DBUFFER
struct _DSCBCAPS * LPDSCBCAPS
HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID, LPDIRECTSOUND8 *ppDS8, LPUNKNOWN pUnkOuter)
struct _DSBPOSITIONNOTIFY * LPDSBPOSITIONNOTIFY
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE8
struct _DSCBUFFERDESC1 DSCBUFFERDESC1
struct _DS3DLISTENER DS3DLISTENER
const DSBUFFERDESC * LPCDSBUFFERDESC
struct _DSCBCAPS DSCBCAPS
const DSCBUFFERDESC * LPCDSCBUFFERDESC
const DSBPOSITIONNOTIFY * LPCDSBPOSITIONNOTIFY
struct IDirectSound3DListener ** LPLPDIRECTSOUND3DLISTENER
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
_In_opt_ PVOID _Out_ BOOLEAN * Stop
DWORD GetPosition(DWORD private_handle, PMMTIME time, DWORD time_size)
static HRESULT QueryInterface(REFIID, void **)
static LPINTERNAL_BSTR Get(const BSTR lpszString)
static ULONG WINAPI AddRef(IStream *iface)
_In_ DWORD _In_ DWORD dwOffset
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
D3DVECTOR vConeOrientation
D3DVALUE flDistanceFactor
DWORD dwUnlockTransferRate
LPWAVEFORMATEX lpwfxFormat
LPWAVEFORMATEX lpwfxFormat
DWORD dwMaxContigFreeHwMemBytes
DWORD dwUnlockTransferRateHwBuffers
DWORD dwMaxHwMixingStreamingBuffers
DWORD dwMaxHw3DStreamingBuffers
DWORD dwMaxSecondarySampleRate
DWORD dwFreeHw3DStreamingBuffers
DWORD dwMaxHw3DStaticBuffers
DWORD dwFreeHw3DStaticBuffers
DWORD dwFreeHwMixingStaticBuffers
DWORD dwFreeHwMixingStreamingBuffers
DWORD dwMinSecondarySampleRate
DWORD dwMaxHwMixingAllBuffers
DWORD dwPlayCpuOverheadSwBuffers
DWORD dwMaxHwMixingStaticBuffers
DWORD dwFreeHwMixingAllBuffers
DWORD dwMaxHw3DAllBuffers
DWORD dwFreeHw3DAllBuffers
LPWAVEFORMATEX lpwfxFormat
LPDSCEFFECTDESC lpDSCFXDesc
LPWAVEFORMATEX lpwfxFormat
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
#define DECL_WINELIB_TYPE_AW(type)