47 DPRINT(
"No Interface for class %s\n", pStr);
95 if (!
This->bInitialized)
101 if (!lpcDSBufferDesc || !lplpDirectSoundBuffer || pUnkOuter !=
NULL)
103 DPRINT(
"Invalid parameter %p %p %p\n", lpcDSBufferDesc, lplpDirectSoundBuffer, pUnkOuter);
130 if (
This->PrimaryBuffer)
160 if (!
This->PrimaryBuffer)
170 DPRINT(
"Failed to create primary buffer with %x\n", hResult);
178 DPRINT(
"This %p wFormatTag %x nChannels %u nSamplesPerSec %u nAvgBytesPerSec %u NBlockAlign %u wBitsPerSample %u cbSize %u\n",
194 if (!
This->bInitialized)
236 if (!
This->bInitialized)
243 This->dwLevel = dwLevel;
254 if (!
This->bInitialized)
278 if (!
This->bInitialized)
293 DWORD dwSpeakerConfig)
319 if (
This->bInitialized)
330 pcGuidDevice = &DSDEVID_DefaultPlayback;
333 if (
IsEqualIID(pcGuidDevice, &DSDEVID_DefaultCapture) ||
IsEqualIID(pcGuidDevice, &DSDEVID_DefaultVoiceCapture))
344 DPRINT(
"IDirectSound8_fnInitialize: Unknown GUID %ws\n", pGuidStr);
358 DPRINT(
"Failed to find device\n");
370 if (!
This->bInitialized)
409 if (!ppDS || pUnkOuter !=
NULL)
425 This->bDirectSound8 = bDirectSound8;
436 DPRINT(
"Failed to initialize DirectSound object with %x\n",
hr);
443 DPRINT(
"DirectSound object %p\n", *ppDS);
469 DPRINT(
"KsPropertySet does not support Interface %ws\n", pStr);
#define InterlockedIncrement
#define InterlockedDecrement
ULONG WINAPI IDirectSound8_fnAddRef(LPDIRECTSOUND8 iface)
static IDirectSound8Vtbl vt_DirectSound8
HRESULT WINAPI DirectSoundCreate(LPCGUID lpcGUID, LPDIRECTSOUND *ppDS, IUnknown *pUnkOuter)
HRESULT WINAPI IDirectSound8_fnQueryInterface(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
struct CDirectSoundImpl * LPCDirectSoundImpl
ULONG WINAPI IDirectSound8_fnRelease(LPDIRECTSOUND8 iface)
HRESULT InternalDirectSoundCreate(LPCGUID lpcGUID, LPDIRECTSOUND8 *ppDS, IUnknown *pUnkOuter, BOOL bDirectSound8)
HRESULT WINAPI IDirectSound8_fnSetSpeakerConfig(LPDIRECTSOUND8 iface, DWORD dwSpeakerConfig)
HRESULT WINAPI IDirectSound8_fnCreateSoundBuffer(LPDIRECTSOUND8 iface, LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown FAR *pUnkOuter)
HRESULT WINAPI IDirectSound8_fnGetSpeakerConfig(LPDIRECTSOUND8 iface, LPDWORD pdwSpeakerConfig)
HRESULT WINAPI IDirectSound8_fnVerifyCertification(LPDIRECTSOUND8 iface, LPDWORD pdwCertified)
HRESULT WINAPI IDirectSound8_fnDuplicateSoundBuffer(LPDIRECTSOUND8 iface, LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate)
HRESULT WINAPI IDirectSound8_fnCompact(LPDIRECTSOUND8 iface)
HRESULT WINAPI IDirectSound8_fnGetCaps(LPDIRECTSOUND8 iface, LPDSCAPS lpDSCaps)
HRESULT WINAPI IDirectSound8_fnSetCooperativeLevel(LPDIRECTSOUND8 iface, HWND hwnd, DWORD dwLevel)
HRESULT WINAPI IDirectSound8_fnInitialize(LPDIRECTSOUND8 iface, LPCGUID pcGuidDevice)
HRESULT CALLBACK NewDirectSound(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppvObject)
HRESULT WINAPI DirectSoundCreate8(LPCGUID lpcGUID, LPDIRECTSOUND8 *ppDS, IUnknown *pUnkOuter)
HRESULT EnumAudioDeviceInterfaces(LPFILTERINFO *OutRootInfo)
BOOL FindDeviceByGuid(LPCGUID pGuidSrc, LPFILTERINFO *Filter)
HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest)
HRESULT NewSecondarySoundBuffer(LPDIRECTSOUNDBUFFER8 *OutBuffer, LPFILTERINFO Filter, DWORD dwLevel, LPCDSBUFFERDESC lpcDSBufferDesc, LPDIRECTSOUNDBUFFER8 PrimaryBuffer)
HRESULT NewPrimarySoundBuffer(LPDIRECTSOUNDBUFFER8 *OutBuffer, LPFILTERINFO Filter, DWORD dwLevel, DWORD dwFlags)
#define HeapFree(x, y, z)
#define DSERR_UNINITIALIZED
#define DSERR_ALREADYINITIALIZED
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
struct IDirectSoundBuffer ** LPLPDIRECTSOUNDBUFFER
#define DSERR_OUTOFMEMORY
struct IDirectSoundBuffer8 ** LPLPDIRECTSOUNDBUFFER8
struct IDirectSound * LPDIRECTSOUND
#define DSERR_INVALIDPARAM
struct IDirectSound8 * LPDIRECTSOUND8
#define IDirectSound8_Release(p)
#define IDirectSoundBuffer8_AddRef(p)
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
#define IDirectSound8_Initialize(p, a)
#define DSERR_PRIOLEVELNEEDED
#define DSBCAPS_PRIMARYBUFFER
VOID WINAPI CoTaskMemFree(LPVOID ptr)
_Check_return_ HRESULT WINAPI StringFromIID(_In_ REFIID rclsid, _Outptr_ LPOLESTR *lplpsz)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
IDirectSound8Vtbl * lpVtbl
LPDIRECTSOUNDBUFFER8 PrimaryBuffer
LPWAVEFORMATEX lpwfxFormat
#define CONTAINING_RECORD(address, type, field)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject