dsound: Convert IDirectSoundImpl from a COM class to a regular class

and move most of the COM functions to the DirectSoundDevice class.
This commit is contained in:
Robert Reif 2006-01-17 16:10:15 +01:00 committed by Alexandre Julliard
parent 73a23606a9
commit 3a4e11cd24
2 changed files with 682 additions and 717 deletions

File diff suppressed because it is too large Load diff

View file

@ -71,8 +71,6 @@ typedef struct DirectSoundCaptureDevice DirectSoundCaptureDevice;
*/
struct IDirectSoundImpl
{
/* IUnknown fields */
const IDirectSound8Vtbl *lpVtbl;
LONG ref;
DirectSoundDevice *device;
@ -131,12 +129,40 @@ typedef struct BufferMemory
HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice);
ULONG DirectSoundDevice_AddRef(DirectSoundDevice * device);
ULONG DirectSoundDevice_Release(DirectSoundDevice * device);
HRESULT DirectSoundDevice_Initialize(
DirectSoundDevice ** ppDevice,
LPCGUID lpcGUID);
HRESULT DirectSoundDevice_AddBuffer(
DirectSoundDevice *device,
DirectSoundDevice * device,
IDirectSoundBufferImpl * pDSB);
HRESULT DirectSoundDevice_RemoveBuffer(
DirectSoundDevice *device,
DirectSoundDevice * device,
IDirectSoundBufferImpl * pDSB);
HRESULT DirectSoundDevice_GetCaps(DirectSoundDevice * device, LPDSCAPS lpDSCaps);
HRESULT DirectSoundDevice_CreateSoundBuffer(
DirectSoundDevice * device,
LPCDSBUFFERDESC dsbd,
LPLPDIRECTSOUNDBUFFER ppdsb,
LPUNKNOWN lpunk,
BOOL from8);
HRESULT DirectSoundDevice_DuplicateSoundBuffer(
DirectSoundDevice * device,
LPDIRECTSOUNDBUFFER psb,
LPLPDIRECTSOUNDBUFFER ppdsb);
HRESULT DirectSoundDevice_SetCooperativeLevel(
DirectSoundDevice * devcie,
HWND hwnd,
DWORD level);
HRESULT DirectSoundDevice_Compact(DirectSoundDevice * device);
HRESULT DirectSoundDevice_GetSpeakerConfig(
DirectSoundDevice * device,
LPDWORD lpdwSpeakerConfig);
HRESULT DirectSoundDevice_SetSpeakerConfig(
DirectSoundDevice * device,
DWORD config);
HRESULT DirectSoundDevice_VerifyCertification(
DirectSoundDevice * device,
LPDWORD pdwCertified);
/*****************************************************************************
* IDirectSound COM components