ReactOS  0.4.14-dev-317-g96040ec
dsdriver.h
Go to the documentation of this file.
1 /*
2  * DirectSound driver
3  * (DirectX 5 version)
4  *
5  * Copyright (C) 2000 Ove Kaaven
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21 
22 #ifndef __WINE_DSDRIVER_H
23 #define __WINE_DSDRIVER_H
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /*****************************************************************************
30  * Predeclare the interfaces
31  */
32 DEFINE_GUID(IID_IDsDriver, 0x8C4233C0l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
33 typedef struct IDsDriver *PIDSDRIVER;
34 
35 DEFINE_GUID(IID_IDsDriverBuffer, 0x8C4233C1l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
36 typedef struct IDsDriverBuffer *PIDSDRIVERBUFFER;
37 
38 DEFINE_GUID(IID_IDsDriverPropertySet, 0x0F6F2E8E0, 0xD842, 0x11D0, 0x8F, 0x75, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA);
39 typedef struct IDsDriverPropertySet *PIDSDRIVERPROPERTYSET;
40 
41 DEFINE_GUID(IID_IDsDriverNotify, 0x00363EF44, 0x3B57, 0x11D3, 0xAC, 0x79, 0x00, 0x10, 0x5A, 0x01, 0x7f, 0xe1);
42 typedef struct IDsDriverNotify *PIDSDRIVERNOTIFY;
43 
44 DEFINE_GUID(IID_IDsCaptureDriver, 0x03DD10C47, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
45 typedef struct IDsCaptureDriver *PIDSCDRIVER;
46 
47 DEFINE_GUID(IID_IDsCaptureDriverBuffer, 0x03DD10C48, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
48 typedef struct IDsCaptureDriverBuffer *PIDSCDRIVERBUFFER;
49 
50 #define DSDDESC_DOMMSYSTEMOPEN 0x00000001
51 #define DSDDESC_DOMMSYSTEMSETFORMAT 0x00000002
52 #define DSDDESC_USESYSTEMMEMORY 0x00000004
53 #define DSDDESC_DONTNEEDPRIMARYLOCK 0x00000008
54 #define DSDDESC_DONTNEEDSECONDARYLOCK 0x00000010
55 #define DSDDESC_DONTNEEDWRITELEAD 0x00000020
56 
57 #define DSDHEAP_NOHEAP 0
58 #define DSDHEAP_CREATEHEAP 1
59 #define DSDHEAP_USEDIRECTDRAWHEAP 2
60 #define DSDHEAP_PRIVATEHEAP 3
61 
62 typedef struct _DSDRIVERDESC
63 {
65  CHAR szDesc[256];
79 
80 typedef struct _DSDRIVERCAPS
81 {
102 
103 typedef struct _DSVOLUMEPAN
104 {
113 
114 typedef union _DSPROPERTY
115 {
116  struct {
121  } DUMMYSTRUCTNAME;
124 
125 typedef struct _DSCDRIVERCAPS
126 {
132 
133 /*****************************************************************************
134  * IDsDriver interface
135  */
136 #define INTERFACE IDsDriver
138 {
139  /*** IUnknown methods ***/
143  /*** IDsDriver methods ***/
144  STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
147  STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE;
148  STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
149  STDMETHOD(DuplicateSoundBuffer)(THIS_ PIDSDRIVERBUFFER pIDsDriverBuffer,LPVOID *ppvObj) PURE;
150 };
151 #undef INTERFACE
152 
153 #if !defined (__cplusplus) || defined(CINTERFACE)
154  /*** IUnknown methods ***/
155 #define IDsDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
156 #define IDsDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
157 #define IDsDriver_Release(p) (p)->lpVtbl->Release(p)
158  /*** IDsDriver methods ***/
159 #define IDsDriver_GetDriverDesc(p,a) (p)->lpVtbl->GetDriverDesc(p,a)
160 #define IDsDriver_Open(p) (p)->lpVtbl->Open(p)
161 #define IDsDriver_Close(p) (p)->lpVtbl->Close(p)
162 #define IDsDriver_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
163 #define IDsDriver_CreateSoundBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c,d,e,f)
164 #define IDsDriver_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
165 #endif
166 
167 /*****************************************************************************
168  * IDsDriverBuffer interface
169  */
170 #define INTERFACE IDsDriverBuffer
171 DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown)
172 {
173  /*** IUnknown methods ***/
177  /*** IDsDriverBuffer methods ***/
178  STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
179  STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
180  STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
181  STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
182  STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE;
183  STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE;
184  STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
185  STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE;
187 };
188 #undef INTERFACE
189 
190 #if !defined (__cplusplus) || defined(CINTERFACE)
191  /*** IUnknown methods ***/
192 #define IDsDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
193 #define IDsDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
194 #define IDsDriverBuffer_Release(p) (p)->lpVtbl->Release(p)
195  /*** IDsDriverBuffer methods ***/
196 #define IDsDriverBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
197 #define IDsDriverBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
198 #define IDsDriverBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
199 #define IDsDriverBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
200 #define IDsDriverBuffer_SetVolumePan(p,a) (p)->lpVtbl->SetVolumePan(p,a)
201 #define IDsDriverBuffer_SetPosition(p,a) (p)->lpVtbl->SetPosition(p,a)
202 #define IDsDriverBuffer_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
203 #define IDsDriverBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
204 #define IDsDriverBuffer_Stop(p) (p)->lpVtbl->Stop(p)
205 #endif
206 
207 /*****************************************************************************
208  * IDsDriverPropertySet interface
209  */
210 #define INTERFACE IDsDriverPropertySet
211 DECLARE_INTERFACE_(IDsDriverPropertySet,IUnknown)
212 {
213  /*** IUnknown methods ***/
217  /*** IDsDriverPropertySet methods ***/
218  STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE;
219  STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE;
220  STDMETHOD(QuerySupport)(THIS_ REFGUID PropertySetId,ULONG PropertyId,PULONG pSupport) PURE;
221 };
222 #undef INTERFACE
223 
224 #if !defined (__cplusplus) || defined(CINTERFACE)
225  /*** IUnknown methods ***/
226 #define IDsDriverPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
227 #define IDsDriverPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
228 #define IDsDriverPropertySet_Release(p) (p)->lpVtbl->Release(p)
229  /*** IDsDriverPropertySet methods ***/
230 #define IDsDriverPropertySet_Get(p,a,b,c,d,e,f) (p)->lpVtbl->Get(p,a,b,c,d,e,f)
231 #define IDsDriverPropertySet_Set(p,a,b,c,d,e) (p)->lpVtbl->Set(p,a,b,c,d,e)
232 #define IDsDriverPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
233 #endif
234 
235 /* Defined property sets */
236 DEFINE_GUID(DSPROPSETID_DirectSound3DListener, 0x6D047B40, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
237 typedef enum
238 {
249 
250 DEFINE_GUID(DSPROPSETID_DirectSound3DBuffer, 0x6D047B41, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
251 typedef enum
252 {
263 
264 DEFINE_GUID(DSPROPSETID_DirectSoundSpeakerConfig, 0x6D047B42, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
265 typedef enum
266 {
269 
270 /*****************************************************************************
271  * IDsDriverNotify interface
272  */
273 #define INTERFACE IDsDriverNotify
274 DECLARE_INTERFACE_(IDsDriverNotify,IUnknown)
275 {
276  /*** IUnknown methods ***/
280  /*** IDsDriverNotify methods ***/
281  STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
282 };
283 #undef INTERFACE
284 
285 #if !defined (__cplusplus) || defined(CINTERFACE)
286  /*** IUnknown methods ***/
287 #define IDsDriverNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
288 #define IDsDriverNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
289 #define IDsDriverNotify_Release(p) (p)->lpVtbl->Release(p)
290  /*** IDsDriverNotify methods ***/
291 #define IDsDriverNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
292 #endif
293 
294 /*****************************************************************************
295  * IDsCaptureDriver interface
296  */
297 #define INTERFACE IDsCaptureDriver
298 DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown)
299 {
300  /*** IUnknown methods ***/
304  /*** IDsCaptureDriver methods ***/
305  STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
308  STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE;
309  STDMETHOD(CreateCaptureBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
310 };
311 #undef INTERFACE
312 
313 #if !defined (__cplusplus) || defined(CINTERFACE)
314  /*** IUnknown methods ***/
315 #define IDsCaptureDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
316 #define IDsCaptureDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
317 #define IDsCaptureDriver_Release(p) (p)->lpVtbl->Release(p)
318  /*** IDsCaptureDriver methods ***/
319 #define IDsCaptureDriver_GetDriverDesc(p,a) (p)->lpVtbl->GetDriverDesc(p,a)
320 #define IDsCaptureDriver_Open(p) (p)->lpVtbl->Open(p)
321 #define IDsCaptureDriver_Close(p) (p)->lpVtbl->Close(p)
322 #define IDsCaptureDriver_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
323 #define IDsCaptureDriver_CreateCaptureBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c,d,e,f)
324 #endif
325 
326 /*****************************************************************************
327  * IDsCaptureDriverBuffer interface
328  */
329 #define INTERFACE IDsCaptureDriverBuffer
330 DECLARE_INTERFACE_(IDsCaptureDriverBuffer,IUnknown)
331 {
332  /*** IUnknown methods ***/
336  /*** IDsCaptureDriverBuffer methods ***/
337  STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
338  STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
339  STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
340  STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
341  STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
344 };
345 #undef INTERFACE
346 
347 #if !defined (__cplusplus) || defined(CINTERFACE)
348  /*** IUnknown methods ***/
349 #define IDsCaptureDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
350 #define IDsCaptureDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
351 #define IDsCaptureDriverBuffer_Release(p) (p)->lpVtbl->Release(p)
352  /*** IDsCaptureDriverBuffer methods ***/
353 #define IDsCaptureDriverBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
354 #define IDsCaptureDriverBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
355 #define IDsCaptureDriverBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
356 #define IDsCaptureDriverBuffer_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
357 #define IDsCaptureDriverBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
358 #define IDsCaptureDriverBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
359 #define IDsCaptureDriverBuffer_Stop(p) (p)->lpVtbl->Stop(p)
360 #endif
361 
362 #ifdef __cplusplus
363 } /* extern "C" */
364 #endif
365 
366 #endif /* __WINE_DSDRIVER_H */
struct _DSCDRIVERCAPS DSCDRIVERCAPS
#define REFIID
Definition: guiddef.h:118
DWORD dwMemEndAddress
Definition: dsdriver.h:74
ULONG ulDeviceNum
Definition: dsdriver.h:70
DWORD dwTotalHwMemBytes
Definition: dsdriver.h:98
GUID Set
Definition: dsdriver.h:117
#define GetStatus(BaseIoAddress, Status)
Definition: atapi.h:328
#define THIS_
Definition: basetyps.h:65
DSPROPERTY_DIRECTSOUNDSPEAKERCONFIG
Definition: dsdriver.h:265
GLint x0
Definition: linetemp.h:95
struct _DSDRIVERDESC DSDRIVERDESC
Definition: scsiwmi.h:51
_In_ BOOLEAN Release
Definition: classpnp.h:929
LPVOID pvReserved2
Definition: dsdriver.h:77
_In_ PSTORAGE_PROPERTY_ID PropertyId
Definition: classpnp.h:966
#define THIS
Definition: basetyps.h:66
DWORD dwFreeHw3DStreamingBuffers
Definition: dsdriver.h:97
struct IDsCaptureDriver * PIDSCDRIVER
Definition: dsdriver.h:45
REFIID riid
Definition: precomp.h:44
char CHAR
Definition: xmlstorage.h:175
DWORD dwMaxHwMixingStaticBuffers
Definition: dsdriver.h:87
DWORD dwFreeHwMixingStaticBuffers
Definition: dsdriver.h:90
DWORD dwMaxHw3DAllBuffers
Definition: dsdriver.h:92
DWORD dwFlags
Definition: dsdriver.h:82
DEFINE_GUID(IID_IDsDriver, 0x8C4233C0l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00)
ULONG Flags
Definition: dsdriver.h:119
DWORD dwPrimaryBuffers
Definition: dsdriver.h:85
struct IDsDriverNotify * PIDSDRIVERNOTIFY
Definition: dsdriver.h:42
DSPROPERTY_DIRECTSOUND3DLISTENER
Definition: dsdriver.h:237
union _DSPROPERTY DSPROPERTY
DWORD dwFreeHw3DAllBuffers
Definition: dsdriver.h:95
struct _DSCDRIVERCAPS * PDSCDRIVERCAPS
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
DWORD dwFreeHwMixingStreamingBuffers
Definition: dsdriver.h:91
struct _DSPROPERTY::@2209 DUMMYSTRUCTNAME
static BOOL Set
Definition: pageheap.c:10
#define STDMETHOD(m)
Definition: basetyps.h:62
DWORD dwMaxContigFreeHwMemBytes
Definition: dsdriver.h:100
struct _DSDRIVERDESC * PDSDRIVERDESC
_In_ PVOID _Out_ BOOLEAN * Stop
Definition: ldrtypes.h:241
#define Open
Definition: syshdrs.h:62
unsigned char * LPBYTE
Definition: typedefs.h:52
CHAR szDesc[256]
Definition: dsdriver.h:65
long LONG
Definition: pedump.c:60
DWORD dwChannels
Definition: dsdriver.h:130
DWORD dwTotalRightAmpFactor
Definition: dsdriver.h:106
DWORD dwHeapType
Definition: dsdriver.h:71
DWORD dwPanLeftAmpFactor
Definition: dsdriver.h:110
DECLARE_INTERFACE_(IDsDriver, IUnknown)
Definition: dsdriver.h:137
ULONGLONG Alignment
Definition: dsdriver.h:122
struct IDsDriver * PIDSDRIVER
Definition: dsdriver.h:33
DWORD dwMinSecondarySampleRate
Definition: dsdriver.h:83
DWORD dwMaxSecondarySampleRate
Definition: dsdriver.h:84
LPVOID pvReserved1
Definition: dsdriver.h:76
LPVOID pvDirectDrawHeap
Definition: dsdriver.h:72
DWORD dwSize
Definition: dsdriver.h:127
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD dwMemStartAddress
Definition: dsdriver.h:73
DWORD dwMemAllocExtra
Definition: dsdriver.h:75
Definition: partlist.h:33
DWORD dwFreeHw3DStaticBuffers
Definition: dsdriver.h:96
union _DSPROPERTY * PDSPROPERTY
DWORD dwFlags
Definition: dsdriver.h:64
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
REFIID LPVOID * ppvObject
Definition: precomp.h:44
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
WORD wReserved
Definition: dsdriver.h:69
DWORD dwMaxHw3DStaticBuffers
Definition: dsdriver.h:93
DWORD dwFreeHwMixingAllBuffers
Definition: dsdriver.h:89
ULONG InstanceId
Definition: dsdriver.h:120
CHAR szDrvname[256]
Definition: dsdriver.h:66
DWORD dwFreeHwMemBytes
Definition: dsdriver.h:99
struct IDsDriverBuffer * PIDSDRIVERBUFFER
Definition: dsdriver.h:36
DWORD dwMaxHwMixingAllBuffers
Definition: dsdriver.h:86
Definition: sacdrv.h:267
DWORD dwMaxHwMixingStreamingBuffers
Definition: dsdriver.h:88
struct IDsDriverPropertySet * PIDSDRIVERPROPERTYSET
Definition: dsdriver.h:39
unsigned int * PULONG
Definition: retypes.h:1
#define PURE
Definition: basetyps.h:64
ULONG Id
Definition: dsdriver.h:118
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
WORD wVxdId
Definition: dsdriver.h:68
struct _DSDRIVERCAPS * PDSDRIVERCAPS
DWORD dwVolAmpFactor
Definition: dsdriver.h:108
DWORD dwPanRightAmpFactor
Definition: dsdriver.h:111
struct _DSVOLUMEPAN DSVOLUMEPAN
uint32_t * LPDWORD
Definition: typedefs.h:57
DWORD dwFormats
Definition: dsdriver.h:129
unsigned int ULONG
Definition: retypes.h:1
STDMETHOD() Get(THIS_ IN REFGUID PropSet, IN ULONG Id, IN LPVOID InstanceData, IN ULONG InstanceLength, OUT LPVOID PropertyData, IN ULONG DataLength, OUT ULONG *BytesReturned) PURE
DWORD dwTotalLeftAmpFactor
Definition: dsdriver.h:105
DSPROPERTY_DIRECTSOUND3DBUFFER
Definition: dsdriver.h:251
struct _DSVOLUMEPAN * PDSVOLUMEPAN
struct IDsCaptureDriverBuffer * PIDSCDRIVERBUFFER
Definition: dsdriver.h:48
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
LONG lVolume
Definition: dsdriver.h:107
DWORD dnDevNode
Definition: dsdriver.h:67
struct _DSDRIVERCAPS DSDRIVERCAPS
DWORD GetPosition(DWORD private_handle, PMMTIME time, DWORD time_size)
DWORD dwFlags
Definition: dsdriver.h:128
DWORD dwMaxHw3DStreamingBuffers
Definition: dsdriver.h:94