94#define LE(x) case x: return #x
110#define FE(x) { x, #x },
136#define FE(x) { x, #x },
171 WARN(
"invalid parameter\n");
176 if (!
This->pUnknown) {
178 if (!
This->pUnknown) {
179 WARN(
"IDirectSound_IUnknown_Create() failed\n");
185 *ppobj =
This->pUnknown;
191 WARN(
"IDirectSound_IDirectSound_Create() failed\n");
215 WARN(
"invalid parameter\n");
220 if (!
This->pUnknown) {
222 if (!
This->pUnknown) {
223 WARN(
"IDirectSound8_IUnknown_Create() failed\n");
229 *ppobj =
This->pUnknown;
235 WARN(
"IDirectSound8_IDirectSound_Create() failed\n");
247 WARN(
"IDirectSound8_IDirectSound8_Create() failed\n");
291 TRACE(
"(%p)\n",ppDS);
296 WARN(
"out of memory\n");
358 TRACE(
"(%p,%p)\n",pds,ppunk);
361 ERR(
"invalid parameter: ppunk == NULL\n");
366 ERR(
"invalid parameter: pds == NULL\n");
372 if (pdsunk ==
NULL) {
373 WARN(
"out of memory\n");
432 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
478 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
520 TRACE(
"(%p,%p)\n",pds,ppds);
523 ERR(
"invalid parameter: ppds == NULL\n");
528 ERR(
"invalid parameter: pds == NULL\n");
535 WARN(
"out of memory\n");
599 TRACE(
"(%p,%p)\n",pds,ppunk);
602 ERR(
"invalid parameter: ppunk == NULL\n");
607 ERR(
"invalid parameter: pds == NULL\n");
613 if (pdsunk ==
NULL) {
614 WARN(
"out of memory\n");
673 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
719 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
761 TRACE(
"(%p,%p)\n",pds,ppds);
764 ERR(
"invalid parameter: ppds == NULL\n");
769 ERR(
"invalid parameter: pds == NULL\n");
776 WARN(
"out of memory\n");
835 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
881 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
933 TRACE(
"(%p,%p)\n",pds,ppds);
936 ERR(
"invalid parameter: ppds == NULL\n");
941 ERR(
"invalid parameter: pds == NULL\n");
948 WARN(
"out of memory\n");
986 WARN(
"IDirectSound_IDirectSound_Create failed\n");
990 WARN(
"IDirectSoundImpl_Create failed\n");
1023 WARN(
"invalid parameter: ppDS == NULL\n");
1027 if (pUnkOuter !=
NULL) {
1028 WARN(
"invalid parameter: pUnkOuter != NULL\n");
1074 WARN(
"IDirectSound8_IDirectSound8_Create failed\n");
1078 WARN(
"IDirectSoundImpl_Create failed\n");
1111 WARN(
"invalid parameter: ppDS == NULL\n");
1115 if (pUnkOuter !=
NULL) {
1116 WARN(
"invalid parameter: pUnkOuter != NULL\n");
1144 TRACE(
"(%p)\n", ppDevice);
1149 WARN(
"out of memory\n");
1160 device->ds3dl.vPosition.x = 0.0;
1161 device->ds3dl.vPosition.y = 0.0;
1162 device->ds3dl.vPosition.z = 0.0;
1163 device->ds3dl.vVelocity.x = 0.0;
1164 device->ds3dl.vVelocity.y = 0.0;
1165 device->ds3dl.vVelocity.z = 0.0;
1166 device->ds3dl.vOrientFront.x = 0.0;
1167 device->ds3dl.vOrientFront.y = 0.0;
1168 device->ds3dl.vOrientFront.z = 1.0;
1169 device->ds3dl.vOrientTop.x = 0.0;
1170 device->ds3dl.vOrientTop.y = 1.0;
1171 device->ds3dl.vOrientTop.z = 0.0;
1182 WARN(
"out of memory\n");
1194 device->pwfx->nChannels = 2;
1195 device->pwfx->nBlockAlign =
device->pwfx->wBitsPerSample *
device->pwfx->nChannels / 8;
1196 device->pwfx->nAvgBytesPerSec =
device->pwfx->nSamplesPerSec *
device->pwfx->nBlockAlign;
1197 device->pwfx->cbSize = 0;
1200 device->mixlock.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": DirectSoundDevice.mixlock");
1234 WARN(
"%d secondary buffers not released\n",
device->nrofbuffers);
1240 WARN(
"primary buffer not released\n");
1246 WARN(
"DSOUND_PrimaryDestroy failed\n");
1264 device->mixlock.DebugInfo->Spare[0] = 0;
1279 WARN(
"not initialized\n");
1283 if (lpDSCaps ==
NULL) {
1284 WARN(
"invalid parameter: lpDSCaps = NULL\n");
1289 if (lpDSCaps->
dwSize <
sizeof(*lpDSCaps)) {
1290 WARN(
"invalid parameter: lpDSCaps->dwSize = %d\n", lpDSCaps->
dwSize);
1335 if (*ppDevice !=
NULL) {
1336 WARN(
"already initialized\n");
1342 lpcGUID = &DSDEVID_DefaultPlayback;
1345 WARN(
"invalid parameter: lpcGUID\n");
1352 WARN(
"no driver\n");
1356 for (wod=0; wod<wodn; wod++) {
1363 if (found ==
FALSE) {
1364 WARN(
"No device found matching given ID!\n");
1375 ERR(
"device GUID doesn't match\n");
1382 WARN(
"DirectSoundDevice_Create failed\n");
1391 device->drvdesc.dnDevNode = wod;
1395 WARN(
"DSOUND_ReopenDevice failed: %08x\n",
hr);
1403 WARN(
"IDsDriver_GetCaps failed\n");
1410 WARN(
"waveOutGetDevCaps failed\n");
1460 TRACE(
"Minimum timer resolution: %u, max timer: %u\n",
time.wPeriodMin,
time.wPeriodMax);
1461 if (triggertime <
time.wPeriodMin)
1462 triggertime =
time.wPeriodMin;
1466 WARN(
"Could not set minimum resolution, don't expect sound\n");
1470 WARN(
"Timer not created! Retrying without TIME_KILL_SYNCHRONOUS\n");
1472 if (!
id)
ERR(
"Could not create timer, sound playback will not occur\n");
1476 WARN(
"DSOUND_PrimaryCreate failed\n");
1493 WARN(
"not initialized\n");
1498 WARN(
"invalid parameter: dsbd == NULL\n");
1504 WARN(
"invalid parameter: dsbd\n");
1508 if (ppdsb ==
NULL) {
1509 WARN(
"invalid parameter: ppdsb == NULL\n");
1525 WARN(
"invalid parameter: dsbd->lpwfxFormat must be NULL for "
1526 "primary buffer\n");
1531 WARN(
"Primary Buffer already created\n");
1537 *ppdsb = (IDirectSoundBuffer*)&
device->primary->IDirectSoundBuffer8_iface;
1544 WARN(
"primarybuffer_create() failed\n");
1551 WARN(
"invalid parameter: dsbd->lpwfxFormat can't be NULL for "
1552 "secondary buffer\n");
1598 TRACE(
"(formattag=0x%04x,chans=%d,samplerate=%d,"
1599 "bytespersec=%d,blockalign=%d,bitspersamp=%d,cbSize=%d)\n",
1607 WARN(
"invalid parameter: 3D buffer format must be mono\n");
1615 WARN(
"IDirectSoundBufferImpl_Create failed\n");
1631 WARN(
"not initialized\n");
1636 WARN(
"invalid parameter: psb == NULL\n");
1640 if (ppdsb ==
NULL) {
1641 WARN(
"invalid parameter: ppdsb == NULL\n");
1646 if (psb == (IDirectSoundBuffer *)&
device->primary->IDirectSoundBuffer8_iface) {
1647 WARN(
"trying to duplicate primary buffer\n");
1657 WARN(
"IDirectSoundBufferImpl_Duplicate failed\n");
1670 WARN(
"not initialized\n");
1675 WARN(
"level=%s not fully supported\n",
1689 WARN(
"not initialized\n");
1694 WARN(
"incorrect priority level\n");
1708 WARN(
"not initialized\n");
1712 if (lpdwSpeakerConfig ==
NULL) {
1713 WARN(
"invalid parameter: lpdwSpeakerConfig == NULL\n");
1717 WARN(
"not fully functional\n");
1718 *lpdwSpeakerConfig =
device->speaker_config;
1729 WARN(
"not initialized\n");
1734 WARN(
"not fully functional\n");
1745 WARN(
"not initialized\n");
1778 device->buffers = newbuffers;
1781 TRACE(
"buffer count is now %d\n",
device->nrofbuffers);
1783 ERR(
"out of memory for buffer list! Current buffer count is %d\n",
device->nrofbuffers);
1807 for (
i = 0;
i <
device->nrofbuffers;
i++)
1808 if (
device->buffers[
i] == pDSB)
1811 if (i < device->nrofbuffers) {
1816 TRACE(
"buffer count is now %d\n",
device->nrofbuffers);
1819 if (
device->nrofbuffers == 0) {
#define InterlockedIncrement
#define InterlockedDecrement
HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest)
HRESULT IDirectSoundBufferImpl_Destroy(IDirectSoundBufferImpl *pdsb)
HRESULT IDirectSoundBufferImpl_Create(DirectSoundDevice *device, IDirectSoundBufferImpl **pdsb, LPCDSBUFFERDESC dsbd)
HRESULT IDirectSoundBufferImpl_Duplicate(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, IDirectSoundBufferImpl *pdsb)
HRESULT DSOUND_Create(REFIID riid, LPDIRECTSOUND *ppDS)
static ULONG IDirectSoundImpl_Release(LPDIRECTSOUND8 iface)
static HRESULT IDirectSound8_IDirectSound8_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND8 *ppds)
static HRESULT WINAPI IDirectSound8_IDirectSound8_SetSpeakerConfig(LPDIRECTSOUND8 iface, DWORD config)
static ULONG WINAPI IDirectSound_IDirectSound_Release(LPDIRECTSOUND iface)
static HRESULT WINAPI IDirectSound_IDirectSound_Initialize(LPDIRECTSOUND iface, LPCGUID lpcGuid)
static HRESULT WINAPI IDirectSound8_IDirectSound_GetSpeakerConfig(LPDIRECTSOUND iface, LPDWORD lpdwSpeakerConfig)
HRESULT DirectSoundDevice_Initialize(DirectSoundDevice **ppDevice, LPCGUID lpcGUID)
static HRESULT IDirectSound_IUnknown_Create(LPDIRECTSOUND8 pds, LPUNKNOWN *ppunk)
HRESULT DSOUND_Create8(REFIID riid, LPDIRECTSOUND8 *ppDS)
static HRESULT WINAPI IDirectSound8_IDirectSound_Compact(LPDIRECTSOUND iface)
const char * dumpCooperativeLevel(DWORD level)
static HRESULT WINAPI IDirectSound8_IUnknown_QueryInterface(LPUNKNOWN iface, REFIID riid, LPVOID *ppobj)
HRESULT WINAPI DirectSoundCreate(LPCGUID lpcGUID, LPDIRECTSOUND *ppDS, IUnknown *pUnkOuter)
static ULONG WINAPI IDirectSound_IDirectSound_AddRef(LPDIRECTSOUND iface)
ULONG DirectSoundDevice_Release(DirectSoundDevice *device)
static HRESULT IDirectSoundImpl_Create(LPDIRECTSOUND8 *ppds)
static HRESULT DirectSoundDevice_Create(DirectSoundDevice **ppDevice)
static HRESULT WINAPI IDirectSound8_IDirectSound8_CreateSoundBuffer(LPDIRECTSOUND8 iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
static ULONG WINAPI IDirectSound8_IDirectSound8_AddRef(LPDIRECTSOUND8 iface)
HRESULT DirectSoundDevice_DuplicateSoundBuffer(DirectSoundDevice *device, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static HRESULT WINAPI IDirectSound_IDirectSound_SetSpeakerConfig(LPDIRECTSOUND iface, DWORD config)
static HRESULT WINAPI IDirectSound8_IDirectSound8_DuplicateSoundBuffer(LPDIRECTSOUND8 iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static ULONG WINAPI IDirectSound8_IDirectSound_AddRef(LPDIRECTSOUND iface)
static HRESULT WINAPI IDirectSound8_IDirectSound_QueryInterface(LPDIRECTSOUND iface, REFIID riid, LPVOID *ppobj)
static const IDirectSoundVtbl DirectSound8_DirectSound_Vtbl
static const IUnknownVtbl DirectSound8_Unknown_Vtbl
HRESULT DirectSoundDevice_GetSpeakerConfig(DirectSoundDevice *device, LPDWORD lpdwSpeakerConfig)
static HRESULT DSOUND_QueryInterface(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
HRESULT DirectSoundDevice_SetCooperativeLevel(DirectSoundDevice *device, HWND hwnd, DWORD level)
static ULONG WINAPI IDirectSound8_IUnknown_AddRef(LPUNKNOWN iface)
static HRESULT WINAPI IDirectSound8_IDirectSound_Initialize(LPDIRECTSOUND iface, LPCGUID lpcGuid)
static HRESULT WINAPI IDirectSound_IDirectSound_QueryInterface(LPDIRECTSOUND iface, REFIID riid, LPVOID *ppobj)
static HRESULT WINAPI IDirectSound8_IDirectSound8_Compact(LPDIRECTSOUND8 iface)
static HRESULT WINAPI IDirectSound8_IDirectSound8_QueryInterface(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
static HRESULT WINAPI IDirectSound8_IDirectSound8_GetSpeakerConfig(LPDIRECTSOUND8 iface, LPDWORD lpdwSpeakerConfig)
static ULONG WINAPI IDirectSound8_IDirectSound8_Release(LPDIRECTSOUND8 iface)
static ULONG IDirectSoundImpl_AddRef(LPDIRECTSOUND8 iface)
static HRESULT WINAPI IDirectSound_IDirectSound_Compact(LPDIRECTSOUND iface)
static HRESULT WINAPI IDirectSound8_IDirectSound8_SetCooperativeLevel(LPDIRECTSOUND8 iface, HWND hwnd, DWORD level)
static HRESULT WINAPI IDirectSound_IDirectSound_DuplicateSoundBuffer(LPDIRECTSOUND iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static HRESULT IDirectSound8_IUnknown_Create(LPDIRECTSOUND8 pds, LPUNKNOWN *ppunk)
static const IDirectSound8Vtbl DirectSound8_DirectSound8_Vtbl
static ULONG DirectSoundDevice_AddRef(DirectSoundDevice *device)
static HRESULT WINAPI IDirectSound8_IDirectSound8_Initialize(LPDIRECTSOUND8 iface, LPCGUID lpcGuid)
HRESULT DirectSoundDevice_Compact(DirectSoundDevice *device)
static ULONG WINAPI IDirectSound_IUnknown_AddRef(LPUNKNOWN iface)
static HRESULT WINAPI IDirectSound8_IDirectSound_SetCooperativeLevel(LPDIRECTSOUND iface, HWND hwnd, DWORD level)
static HRESULT WINAPI IDirectSound8_IDirectSound_SetSpeakerConfig(LPDIRECTSOUND iface, DWORD config)
static HRESULT WINAPI IDirectSound8_IDirectSound_DuplicateSoundBuffer(LPDIRECTSOUND iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static ULONG WINAPI IDirectSound8_IDirectSound_Release(LPDIRECTSOUND iface)
HRESULT DirectSoundDevice_VerifyCertification(DirectSoundDevice *device, LPDWORD pdwCertified)
HRESULT DirectSoundDevice_SetSpeakerConfig(DirectSoundDevice *device, DWORD config)
static HRESULT WINAPI IDirectSound8_IDirectSound_GetCaps(LPDIRECTSOUND iface, LPDSCAPS lpDSCaps)
HRESULT DirectSoundDevice_RemoveBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB)
static HRESULT IDirectSound_IDirectSound_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND *ppds)
static void _dump_DSBCAPS(DWORD xmask)
static void _dump_DSCAPS(DWORD xmask)
static HRESULT IDirectSound8_IDirectSound_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND *ppds)
static HRESULT WINAPI IDirectSound_IDirectSound_SetCooperativeLevel(LPDIRECTSOUND iface, HWND hwnd, DWORD level)
static HRESULT WINAPI IDirectSound_IDirectSound_GetCaps(LPDIRECTSOUND iface, LPDSCAPS lpDSCaps)
HRESULT DirectSoundDevice_GetCaps(DirectSoundDevice *device, LPDSCAPS lpDSCaps)
static ULONG WINAPI IDirectSound8_IUnknown_Release(LPUNKNOWN iface)
static const IUnknownVtbl DirectSound_Unknown_Vtbl
static const IDirectSoundVtbl DirectSound_DirectSound_Vtbl
static HRESULT WINAPI IDirectSound_IUnknown_QueryInterface(LPUNKNOWN iface, REFIID riid, LPVOID *ppobj)
static HRESULT WINAPI IDirectSound8_IDirectSound8_GetCaps(LPDIRECTSOUND8 iface, LPDSCAPS lpDSCaps)
static HRESULT DSOUND_QueryInterface8(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
static ULONG WINAPI IDirectSound_IUnknown_Release(LPUNKNOWN iface)
static HRESULT WINAPI IDirectSound_IDirectSound_GetSpeakerConfig(LPDIRECTSOUND iface, LPDWORD lpdwSpeakerConfig)
HRESULT DirectSoundDevice_CreateSoundBuffer(DirectSoundDevice *device, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk, BOOL from8)
HRESULT WINAPI DirectSoundCreate8(LPCGUID lpcGUID, LPDIRECTSOUND8 *ppDS, IUnknown *pUnkOuter)
static HRESULT WINAPI IDirectSound_IDirectSound_CreateSoundBuffer(LPDIRECTSOUND iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
HRESULT DirectSoundDevice_AddBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB)
static HRESULT WINAPI IDirectSound8_IDirectSound_CreateSoundBuffer(LPDIRECTSOUND iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
static HRESULT WINAPI IDirectSound8_IDirectSound8_VerifyCertification(LPDIRECTSOUND8 iface, LPDWORD pdwCertified)
const char * wine_dbg_sprintf(const char *format,...)
#define HeapFree(x, y, z)
MMRESULT WINAPI timeBeginPeriod(UINT wPeriod)
MMRESULT WINAPI timeKillEvent(UINT wID)
MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS lpCaps, UINT wSize)
MMRESULT WINAPI timeSetEvent(UINT wDelay, UINT wResol, LPTIMECALLBACK lpFunc, DWORD_PTR dwUser, UINT wFlags)
MMRESULT WINAPI timeEndPeriod(UINT wPeriod)
#define IDsDriver_GetCaps(p, a)
#define IDsDriver_Close(p)
#define DSDDESC_DOMMSYSTEMOPEN
#define DSDDESC_USESYSTEMMEMORY
#define IDsDriver_Release(p)
#define DSCAPS_SECONDARYSTEREO
#define DSERR_UNINITIALIZED
#define DSERR_ALREADYINITIALIZED
#define IDirectSoundBuffer_AddRef(p)
#define DSBCAPS_GLOBALFOCUS
#define DSBCAPS_CTRLVOLUME
#define DSBCAPS_MUTE3DATMAXDISTANCE
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
#define DSCAPS_CONTINUOUSRATE
#define DSBCAPS_STICKYFOCUS
#define DSERR_CONTROLUNAVAIL
#define DSCAPS_SECONDARYMONO
struct IDirectSoundBuffer ** LPLPDIRECTSOUNDBUFFER
#define DSBCAPS_GETCURRENTPOSITION2
#define DSCAPS_SECONDARY8BIT
#define IDirectSoundBuffer8_Release(p)
#define DSERR_OUTOFMEMORY
#define DSCAPS_PRIMARY8BIT
#define IDirectSound_Initialize(p, a)
#define DS3D_DEFAULTROLLOFFFACTOR
#define DSERR_INVALIDCALL
#define DSSCL_WRITEPRIMARY
#define DSCAPS_SECONDARY16BIT
#define DSBCAPS_CTRLPOSITIONNOTIFY
#define DSBCAPS_LOCSOFTWARE
struct IDirectSound * LPDIRECTSOUND
#define DSCAPS_PRIMARYMONO
#define DSERR_INVALIDPARAM
#define DSBCAPS_CTRLFREQUENCY
struct IDirectSound8 * LPDIRECTSOUND8
#define DSCAPS_EMULDRIVER
#define IDirectSound8_Release(p)
#define DSCAPS_PRIMARY16BIT
#define DSCAPS_PRIMARYSTEREO
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
#define IDirectSound_Release(p)
#define IDirectSound8_Initialize(p, a)
#define DSSPEAKER_GEOMETRY_NARROW
#define DSERR_PRIOLEVELNEEDED
#define DS3D_DEFAULTDOPPLERFACTOR
struct _DS3DLISTENER DS3DLISTENER
#define DSBCAPS_LOCHARDWARE
#define DS3D_DEFAULTDISTANCEFACTOR
#define DSBCAPS_PRIMARYBUFFER
GUID DSOUND_renderer_guids[MAXWAVEDRIVERS]
int ds_default_sample_rate
int ds_default_bits_per_sample
void setup_dsound_options(void)
DirectSoundDevice * DSOUND_renderer[MAXWAVEDRIVERS]
HRESULT DSOUND_ReopenDevice(DirectSoundDevice *device, BOOL forcewave) DECLSPEC_HIDDEN
void CALLBACK DSOUND_timer(UINT timerID, UINT msg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) DECLSPEC_HIDDEN
HRESULT DSOUND_PrimaryCreate(DirectSoundDevice *device) DECLSPEC_HIDDEN
HRESULT primarybuffer_create(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, const DSBUFFERDESC *dsbd) DECLSPEC_HIDDEN
HRESULT DSOUND_PrimaryDestroy(DirectSoundDevice *device) DECLSPEC_HIDDEN
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceShared(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI VOID NTAPI RtlInitializeResource(_In_ PRTL_RESOURCE Resource)
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceExclusive(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI VOID NTAPI RtlDeleteResource(_In_ PRTL_RESOURCE Resource)
NTSYSAPI VOID NTAPI RtlReleaseResource(_In_ PRTL_RESOURCE Resource)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
const IDirectSound8Vtbl * lpVtbl
const IDirectSoundVtbl * lpVtbl
const IUnknownVtbl * lpVtbl
IDirectSoundBuffer8 IDirectSoundBuffer8_iface
DirectSoundDevice * device
const IDirectSoundVtbl * lpVtbl
const IUnknownVtbl * lpVtbl
union WAVEFORMATEXTENSIBLE::@3027 Samples
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
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
UINT WINAPI waveOutGetDevCapsA(UINT_PTR uDeviceID, LPWAVEOUTCAPSA lpCaps, UINT uSize)
UINT WINAPI waveOutGetNumDevs(void)
UINT WINAPI waveOutClose(HWAVEOUT hWaveOut)
#define WAVE_FORMAT_48S16
#define WAVE_FORMAT_48M16
#define WAVE_FORMAT_96S08
#define WAVE_FORMAT_96M16
#define WAVE_FORMAT_96S16
#define WAVE_FORMAT_48M08
#define WAVE_FORMAT_48S08
#define WAVE_FORMAT_96M08