31#include <mmdeviceapi.h>
50 DWORD speaker_config, new_speaker_config, ref_speaker_config;
55 ok(rc==
DS_OK,
"IDirectSound8_QueryInterface(IID_IUnknown) failed: %08x\n", rc);
60 ok(rc==
DS_OK,
"IDirectSound8_QueryInterface(IID_IDirectSound) failed: %08x\n", rc);
65 ok(rc==
DS_OK,
"IDirectSound8_QueryInterface(IID_IDirectSound8) "
66 "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
74 "should have returned DSERR_UNINITIALIZED, returned: %08x\n", rc);
78 "should have returned DSERR_UNINITIALIZED, returned: %08x\n", rc);
82 "should have returned DSERR_UNINITIALIZED, returned: %08x\n", rc);
86 "should have returned DSERR_UNINITIALIZED, returned: %08x\n", rc);
90 "should have returned DSERR_UNINITIALIZED, returned: %08x\n", rc);
94 "IDirectSound8_Initialize() failed: %08x\n",rc);
96 trace(
" No Driver\n");
99 trace(
" No Device\n");
102 trace(
" Already In Use\n");
109 "should have returned DSERR_ALREADYINITIALIZED: %08x\n", rc);
114 "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
121 "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
123 dscaps.
dwSize=
sizeof(dscaps);
127 ok(rc==
DS_OK,
"IDirectSound8_GetCaps() failed: %08x\n",rc);
133 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
136 ok(rc==
DS_OK,
"IDirectSound8_Compact() failed: %08x\n",rc);
140 "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
143 ok(rc==
DS_OK,
"IDirectSound8_GetSpeakerConfig() failed: %08x\n", rc);
144 ref_speaker_config = speaker_config;
148 if (speaker_config == ref_speaker_config)
153 ok(rc==
DS_OK,
"IDirectSound8_SetSpeakerConfig() failed: %08x\n", rc);
157 ok(rc==
DS_OK,
"IDirectSound8_GetSpeakerConfig() failed: %08x\n", rc);
158 if (rc==
DS_OK && speaker_config!=new_speaker_config)
159 trace(
"IDirectSound8_GetSpeakerConfig() failed to set speaker "
160 "config: expected 0x%08x, got 0x%08x\n",
161 speaker_config,new_speaker_config);
166 ok(rc==
DS_OK||rc==
E_NOTIMPL,
"IDirectSound8_VerifyCertification() failed: %08x\n", rc);
170 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
ref);
179 trace(
"Testing IDirectSound8\n");
183 ok(rc==
S_OK,
"CoGetClassObject(CLSID_DirectSound8, IID_IClassFactory) "
184 "failed: %08x\n", rc);
188 ok(rc==
S_OK,
"CoGetClassObject(CLSID_DirectSound8, IID_IUnknown) "
189 "failed: %08x\n", rc);
193 &IID_IDirectSound8, (
void**)&dso);
196 trace(
" Class Not Registered\n");
205 &IID_IDirectSound8, (
void**)&dso);
206 ok(rc==
S_OK,
"CoCreateInstance(CLSID_DirectSound8) failed: %08x\n", rc);
213 &IID_IDirectSound8, (
void**)&dso);
214 ok(rc==
S_OK,
"CoCreateInstance(CLSID_DirectSound8) failed: %08x\n", rc);
221 &CLSID_DirectSoundPrivate, (
void**)&dso);
223 "CoCreateInstance(CLSID_DirectSound8,CLSID_DirectSoundPrivate) "
224 "should have failed: %08x\n",rc);
229 &IID_IDirectSound8, (
void**)&dso);
231 "CoCreateInstance(CLSID_DirectSoundPrivate,IID_IDirectSound8) "
232 "should have failed: %08x\n",rc);
235 rc=pDirectSoundCreate8(
NULL,&dso,
NULL);
237 "DirectSoundCreate8() failed: %08x\n",rc);
238 if (rc==
DS_OK && dso)
242 rc=pDirectSoundCreate8(&DSDEVID_DefaultPlayback,&dso,
NULL);
244 "DirectSoundCreate8() failed: %08x\n",rc);
245 if (rc==
DS_OK && dso)
249 rc=pDirectSoundCreate8(&DSDEVID_DefaultVoicePlayback,&dso,
NULL);
251 "DirectSoundCreate8() failed: %08x\n",rc);
252 if (rc==
DS_OK && dso)
256 rc=pDirectSoundCreate8(&DSDEVID_DefaultVoiceCapture,&dso,
NULL);
258 "should have failed: %08x\n",rc);
268 rc=pDirectSoundCreate8(lpGuid,0,
NULL);
270 "DSERR_INVALIDPARAM, returned: %08x\n",rc);
273 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
275 "DirectSoundCreate8() failed: %08x\n",rc);
284 &IID_IDirectSound8, (
void**)&dso);
285 ok(rc==
S_OK,
"CoCreateInstance(CLSID_DirectSound) failed: %08x\n", rc);
290 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
291 ok(rc==
DS_OK,
"DirectSoundCreate8() failed: %08x\n",rc);
296 rc=pDirectSoundCreate8(lpGuid,&dso1,
NULL);
297 ok(rc==
DS_OK,
"DirectSoundCreate8() failed: %08x\n",rc);
301 ok(
ref==0,
"IDirectSound8_Release() has %d references, "
302 "should have 0\n",
ref);
303 ok(dso!=dso1,
"DirectSound8 objects should be unique: "
304 "dso=%p,dso1=%p\n",dso,dso1);
309 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
317 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
318 ok(rc==
DS_OK,
"DirectSoundCreate8() failed: %08x\n",rc);
326 bufdesc.
dwSize=
sizeof(bufdesc);
333 "IDirectSound8_CreateSoundBuffer() failed to create a secondary "
334 "buffer: %08x\n",rc);
339 &IID_IDirectSound3DBuffer,
342 "IDirectSound8_QueryInterface() failed: %08x\n", rc);
345 ok(
ref==2,
"IDirectSound3DBuffer_AddRef() has %d references, "
346 "should have 2\n",
ref);
349 &IID_IDirectSoundBuffer8,
352 ok(buffer8==(IDirectSoundBuffer8*)secondary,
353 "IDirectSoundBuffer8 iface different from IDirectSoundBuffer.\n");
355 ok(
ref==3,
"IDirectSoundBuffer8_AddRef() has %d references, "
356 "should have 3\n",
ref);
359 ok(
ref==4,
"IDirectSoundBuffer_AddRef() has %d references, "
360 "should have 4\n",
ref);
364 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
386 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
388 "DirectSoundCreate8() failed: %08x\n",rc);
394 dscaps.
dwSize=
sizeof(dscaps);
396 ok(rc==
DS_OK,
"IDirectSound8_GetCaps() failed: %08x\n",rc);
403 "IDirectSound8_CreateSoundBuffer should have returned "
404 "DSERR_INVALIDPARAM, returned: %08x\n",rc);
409 "IDirectSound8_CreateSoundBuffer() should have returned "
410 "DSERR_INVALIDPARAM, returned: rc=%08x,dsbo=%p\n",
419 "IDirectSound8_CreateSoundBuffer() should have failed: rc=%08x,"
420 "dsbo=%p\n",rc,primary);
428 "IDirectSound8_CreateSoundBuffer() should have failed: rc=%08x,"
429 "primary=%p\n",rc,primary);
434 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
441 bufdesc.
dwSize=
sizeof(bufdesc);
447 "returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
453 bufdesc.
dwSize=
sizeof(bufdesc);
457 "IDirectSound8_CreateSoundBuffer() failed to create a primary buffer: "
460 trace(
" No Primary\n");
468 ok(rc==
DS_OK && second==primary,
469 "IDirectSound8_CreateSoundBuffer() should have returned original "
470 "primary buffer: %08x\n",rc);
472 ok(
ref==1,
"IDirectSoundBuffer_Release() primary has %d references, "
473 "should have 1\n",
ref);
479 ok(rc!=
DS_OK,
"IDirectSound8_DuplicateSoundBuffer() primary buffer "
480 "should have failed %08x\n",rc);
484 ok(
FAILED(rc),
"Primary buffer does have an IDirectSoundBuffer8: %08x\n", rc);
487 ok(rc==
DS_OK,
"IDirectSoundBuffer_GetVolume() failed: %08x\n", rc);
490 trace(
"Playing a 5 seconds reference tone at the current volume.\n");
492 trace(
"(the current volume is %d according to DirectSound)\n",
494 trace(
"All subsequent tones should be identical to this one.\n");
495 trace(
"Listen for stutter, changes in pitch, volume, etc.\n");
501 ok(
ref==0,
"IDirectSoundBuffer_Release() primary has %d references, "
502 "should have 0\n",
ref);
508 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
512 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
ref);
535 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
537 "DirectSoundCreate8() failed: %08x\n",rc);
543 dscaps.
dwSize=
sizeof(dscaps);
545 ok(rc==
DS_OK,
"IDirectSound8_GetCaps() failed: %08x\n",rc);
552 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
557 bufdesc.
dwSize=
sizeof(bufdesc);
561 "IDirectSound8_CreateSoundBuffer() failed to create a primary buffer "
576 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
586 "IDirectSoundBuffer_SetFormat(%s) failed: %08x\n",
594 ok(rc==
DS_OK,
"IDirectSoundBuffer_GetFormat() failed: %08x\n", rc);
600 trace(
"Requested primary format tag=0x%04x %dx%dx%d "
601 "avg.B/s=%d align=%d\n",
604 trace(
"Got tag=0x%04x %dx%dx%d avg.B/s=%d align=%d\n",
612 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
618 bufdesc.
dwSize=
sizeof(bufdesc);
624 trace(
" Testing a primary buffer at %dx%dx%d (fmt=%d) with a "
625 "secondary buffer at %dx%dx%d\n",
631 "IDirectSound_CreateSoundBuffer() failed to create a secondary "
639 ok(
ref==0,
"IDirectSoundBuffer_Release() has %d references, "
640 "should have 0\n",
ref);
646 ok(
ref==0,
"IDirectSoundBuffer_Release() primary has %d references, "
647 "should have 0\n",
ref);
653 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
657 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
ref);
676 rc=pDirectSoundCreate8(lpGuid,&dso,
NULL);
678 "DirectSoundCreate8() failed: %08x\n",rc);
684 dscaps.
dwSize=
sizeof(dscaps);
686 ok(rc==
DS_OK,
"IDirectSound8_GetCaps() failed: %08x\n",rc);
693 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
698 bufdesc.
dwSize=
sizeof(bufdesc);
702 "IDirectSound8_CreateSoundBuffer() failed to create a primary buffer "
707 ok(rc==
DS_OK,
"IDirectSoundBuffer8_Getformat() failed: %08x\n", rc);
723 bufdesc.
dwSize=
sizeof(bufdesc);
729 "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
735 bufdesc.
dwSize=
sizeof(bufdesc);
744 "IDirectSound_CreateSoundBuffer() "
745 "should have returned (DSERR_CONTROLUNAVAIL or DSERR_INVALIDCALL) "
746 "and NULL, returned: %08x %p\n", rc, secondary);
749 "IDirectSound_CreateSoundBuffer() failed to create a secondary "
765 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
778 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
790 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
801 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
812 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
824 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
836 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
848 "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
859 "IDirectSound_CreateSoundBuffer() failed to create a secondary "
864 trace(
" Testing a secondary buffer at %dx%dx%d (fmt=%d) "
865 "with a primary buffer at %dx%dx%d\n",
873 ok(
ref==0,
"IDirectSoundBuffer_Release() has %d references, "
874 "should have 0\n",
ref);
880 ok(
ref==0,
"IDirectSoundBuffer_Release() primary has %d references, "
881 "should have 0\n",
ref);
887 ok(rc==
DS_OK,
"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
891 ok(
ref==0,
"IDirectSound8_Release() has %d references, should have 0\n",
ref);
902 trace(
"*** Testing %s - %s ***\n",lpcstrDescription,lpcstrModule);
905 trace(
" No Driver\n");
907 trace(
" Already In Use\n");
909 trace(
" No Device\n");
923 ok(rc==
DS_OK,
"DirectSoundEnumerateA() failed: %08x\n",rc);
929 IDirectSoundBuffer *primary, *primary2, **secondaries, *secondary;
930 IDirectSoundBuffer8 *buf8;
940 "DirectSoundCreate8 failed: %08x\n",
hr);
944 caps.
dwSize =
sizeof(caps);
953 bufdesc.
dwSize =
sizeof(bufdesc);
962 ok(
hr ==
S_OK,
"CreateSoundBuffer failed: %08x\n",
hr);
972 ok(
hr ==
S_OK,
"CreateSoundBuffer failed: %08x\n",
hr);
973 ok(primary == primary2,
"Got different primary buffers: %p, %p\n", primary, primary2);
977 buf8 = (IDirectSoundBuffer8 *)0xDEADBEEF;
981 ok(buf8 ==
NULL,
"Pointer didn't get set to NULL\n");
985 fmt.nSamplesPerSec = 48000;
986 fmt.wBitsPerSample = 16;
987 fmt.nBlockAlign =
fmt.nChannels *
fmt.wBitsPerSample / 8;
988 fmt.nAvgBytesPerSec =
fmt.nBlockAlign *
fmt.nSamplesPerSec;
1006 "CreateSoundBuffer(%u) failed: %08x\n",
i,
hr);
1010 bufcaps.
dwSize =
sizeof(bufcaps);
1012 ok(
hr ==
S_OK,
"GetCaps failed: %08x\n",
hr);
1014 "Buffer wasn't allocated in hardware, dwFlags: %x\n", bufcaps.
dwFlags);
1025 "CreateSoundBuffer(%u) gave wrong error: %08x\n",
i,
hr);
1049 ok(
default_info.dev_count == 0,
"Got NULL GUID not in first position\n");
1074 CLSCTX_INPROC_SERVER, &IID_IMMDeviceEnumerator, (
void**)&devenum);
1076 win_skip(
"MMDevAPI is not available, skipping default device test\n");
1080 hr = IMMDeviceEnumerator_GetDefaultAudioEndpoint(devenum,
eRender,
1082 if (
hr == E_NOTFOUND) {
1083 win_skip(
"No default device found\n");
1086 ok(
hr ==
S_OK,
"GetDefaultAudioEndpoint failed: %08x\n",
hr);
1088 hr = IMMDevice_OpenPropertyStore(defdev,
STGM_READ, &ps);
1089 ok(
hr ==
S_OK,
"OpenPropertyStore failed: %08x\n",
hr);
1091 PropVariantInit(&pv);
1093 hr = IPropertyStore_GetValue(ps, &PKEY_AudioEndpoint_GUID, &pv);
1094 ok(
hr ==
S_OK,
"GetValue failed: %08x\n",
hr);
1099 IPropertyStore_Release(ps);
1100 IMMDevice_Release(defdev);
1101 IMMDeviceEnumerator_Release(devenum);
1104 ok(
hr ==
S_OK,
"DirectSoundEnumerateA failed: %08x\n",
hr);
1110 IDirectSound8 *ds8 = (IDirectSound8*)0xdeadbeef;
1119 "DirectSound create failed: %08x, expected CLASS_E_NOAGGREGATION\n",
hr);
1120 ok(!ds8,
"ds8 = %p\n", ds8);
1124 &IID_IDirectSound3DBuffer, (
void**)&ds8);
1126 "DirectSound create failed: %08x, expected E_NOINTERFACE\n",
hr);
1131 ok(
hr ==
S_OK,
"DirectSound create failed: %08x, expected S_OK\n",
hr);
1133 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
1135 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectSound failed: %08x\n",
hr);
1137 ok(refcount == 4,
"refcount == %u, expected 4\n", refcount);
1139 ok(refcount == 5,
"refcount == %u, expected 5\n", refcount);
1143 ok(
hr ==
S_OK,
"QueryInterface for IID_IUnknown failed: %08x\n",
hr);
1144 refcount = IUnknown_AddRef(unk);
1145 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
1147 ok(
hr ==
S_OK,
"QueryInterface for IID_IUnknown failed: %08x\n",
hr);
1148 refcount = IUnknown_AddRef(unk8);
1149 ok(refcount == 4,
"refcount == %u, expected 4\n", refcount);
1151 ok(refcount == 6,
"refcount == %u, expected 6\n", refcount);
1154 while (IUnknown_Release(unk));
1168 "DirectSoundEnumerateA");
1170 "DirectSoundCreate8");
1171 if (pDirectSoundCreate8)
1180 skip(
"DirectSoundCreate8 missing - skipping all tests\n");
1185 skip(
"dsound.dll not found - skipping all tests\n");
void user(int argc, const char *argv[])
const GUID IID_IClassFactory
static const struct pixel_format_desc formats[]
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
#define GetProcAddress(x, y)
#define HeapFree(x, y, z)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI PropVariantClear(PROPVARIANT *pvar)
void test_buffer8(LPDIRECTSOUND8 dso, LPDIRECTSOUNDBUFFER *dsbo, BOOL is_primary, BOOL set_volume, LONG volume, BOOL set_pan, LONG pan, BOOL play, double duration, BOOL buffer3d, LPDIRECTSOUND3DLISTENER listener, BOOL move_listener, BOOL move_sound)
void init_format(WAVEFORMATEX *wfx, int format, int rate, int depth, int channels)
static HRESULT test_dsound8(LPGUID lpGuid)
static HRESULT test_primary_secondary8(LPGUID lpGuid)
static void IDirectSound8_test(LPDIRECTSOUND8 dso, BOOL initialized, LPCGUID lpGuid)
static void test_first_device(void)
static HRESULT test_primary8(LPGUID lpGuid)
static void dsound8_tests(void)
static struct @1667 default_info
static BOOL WINAPI default_device_cb(GUID *guid, const char *desc, const char *module, void *user)
static void IDirectSound8_tests(void)
static BOOL WINAPI dsenum_callback(LPGUID lpGuid, LPCSTR lpcstrDescription, LPCSTR lpcstrModule, LPVOID lpContext)
static void test_hw_buffers(void)
static HRESULT test_secondary8(LPGUID lpGuid)
int align(int length, int align)
static LPDIRECTSOUND8 LPUNKNOWN
static void test_COM(void)
#define IDirectSound8_CreateSoundBuffer(p, a, b, c)
#define IDirectSound8_Compact(p)
struct _DSBUFFERDESC DSBUFFERDESC
#define DSERR_UNINITIALIZED
#define DSERR_ALREADYINITIALIZED
#define IDirectSoundBuffer_AddRef(p)
#define DSBCAPS_CTRLVOLUME
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
#define DSERR_CONTROLUNAVAIL
#define DSBCAPS_GETCURRENTPOSITION2
struct IDirectSound3DBuffer * LPDIRECTSOUND3DBUFFER
#define IDirectSoundBuffer_GetFormat(p, a, b, c)
#define IDirectSoundBuffer_GetVolume(p, a)
#define IDirectSound8_SetSpeakerConfig(p, a)
#define IDirectSound8_GetCaps(p, a)
#define IDirectSound8_QueryInterface(p, a, b)
#define IDirectSound_QueryInterface(p, a, b)
#define IDirectSound_AddRef(p)
#define DSSPEAKER_GEOMETRY_WIDE
#define DSERR_INVALIDCALL
#define IDirectSoundBuffer_SetFormat(p, a)
#define DSBCAPS_LOCSOFTWARE
#define DSERR_INVALIDPARAM
#define IDirectSound3DBuffer_AddRef(p)
struct IDirectSound8 * LPDIRECTSOUND8
#define DSCAPS_EMULDRIVER
#define IDirectSound8_Release(p)
BOOL(CALLBACK * LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID)
#define IDirectSoundBuffer_GetCaps(p, a)
#define DSSPEAKER_COMBINED(c, g)
#define IDirectSoundBuffer8_AddRef(p)
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
#define IDirectSound_Release(p)
#define IDirectSound8_Initialize(p, a)
#define DSSPEAKER_GEOMETRY_NARROW
#define DSERR_PRIOLEVELNEEDED
#define IDirectSound_CreateSoundBuffer(p, a, b, c)
#define IDirectSound8_DuplicateSoundBuffer(p, a, b)
#define IDirectSoundBuffer_QueryInterface(p, a, b)
#define IDirectSound8_GetSpeakerConfig(p, a)
#define IDirectSound8_VerifyCertification(p, a)
#define IDirectSoundBuffer_Release(p)
#define IDirectSound8_AddRef(p)
#define DSBCAPS_LOCHARDWARE
#define DSBCAPS_PRIMARYBUFFER
#define IDirectSound8_SetCooperativeLevel(p, a, b)
static const unsigned int format_tags[]
GLuint GLsizei GLsizei * length
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
#define WAVE_FORMAT_IEEE_FLOAT
static const WCHAR desc[]
const char * format_string(const WAVEFORMATEX *wfx)
#define IsEqualGUID(rguid1, rguid2)
union WAVEFORMATEXTENSIBLE::@3022 Samples
LPWAVEFORMATEX lpwfxFormat
DWORD dwMaxHwMixingStreamingBuffers
DWORD dwMaxHwMixingAllBuffers
DWORD dwMaxHwMixingStaticBuffers
#define REGDB_E_CLASSNOTREG
#define CLASS_E_NOAGGREGATION