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 struct IDirectSoundImpl
{ {
/* IUnknown fields */
const IDirectSound8Vtbl *lpVtbl;
LONG ref; LONG ref;
DirectSoundDevice *device; DirectSoundDevice *device;
@ -131,12 +129,40 @@ typedef struct BufferMemory
HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice); HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice);
ULONG DirectSoundDevice_AddRef(DirectSoundDevice * device); ULONG DirectSoundDevice_AddRef(DirectSoundDevice * device);
ULONG DirectSoundDevice_Release(DirectSoundDevice * device); ULONG DirectSoundDevice_Release(DirectSoundDevice * device);
HRESULT DirectSoundDevice_Initialize(
DirectSoundDevice ** ppDevice,
LPCGUID lpcGUID);
HRESULT DirectSoundDevice_AddBuffer( HRESULT DirectSoundDevice_AddBuffer(
DirectSoundDevice *device, DirectSoundDevice * device,
IDirectSoundBufferImpl * pDSB); IDirectSoundBufferImpl * pDSB);
HRESULT DirectSoundDevice_RemoveBuffer( HRESULT DirectSoundDevice_RemoveBuffer(
DirectSoundDevice *device, DirectSoundDevice * device,
IDirectSoundBufferImpl * pDSB); 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 * IDirectSound COM components