From 442925735878fcf3ba985520da125c8c68c9c430 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 8 Apr 2011 14:11:34 +0200 Subject: [PATCH] dsound: COM cleanup property sets. --- dlls/dsound/dsound_private.h | 15 +-------------- dlls/dsound/propset.c | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h index 542b997da5f..e5ef75c3897 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -57,7 +57,6 @@ typedef struct IDirectSoundCaptureNotifyImpl IDirectSoundCaptureNotifyImpl; typedef struct IDirectSound3DListenerImpl IDirectSound3DListenerImpl; typedef struct IDirectSound3DBufferImpl IDirectSound3DBufferImpl; typedef struct IKsBufferPropertySetImpl IKsBufferPropertySetImpl; -typedef struct IKsPrivatePropertySetImpl IKsPrivatePropertySetImpl; typedef struct PrimaryBufferImpl PrimaryBufferImpl; typedef struct SecondaryBufferImpl SecondaryBufferImpl; typedef struct DirectSoundDevice DirectSoundDevice; @@ -329,19 +328,7 @@ HRESULT IKsBufferPropertySetImpl_Create( HRESULT IKsBufferPropertySetImpl_Destroy( IKsBufferPropertySetImpl *piks); -/***************************************************************************** - * IKsPrivatePropertySet implementation structure - */ -struct IKsPrivatePropertySetImpl -{ - /* IUnknown fields */ - const IKsPropertySetVtbl *lpVtbl; - LONG ref; -}; - -HRESULT IKsPrivatePropertySetImpl_Create( - REFIID riid, - IKsPrivatePropertySetImpl **piks); +HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, IKsPropertySet **piks); /***************************************************************************** * IDirectSound3DBuffer implementation structure diff --git a/dlls/dsound/propset.c b/dlls/dsound/propset.c index 04c7b5869c0..f6c8091abc7 100644 --- a/dlls/dsound/propset.c +++ b/dlls/dsound/propset.c @@ -44,6 +44,17 @@ WINE_DEFAULT_DEBUG_CHANNEL(dsound); +typedef struct IKsPrivatePropertySetImpl +{ + IKsPropertySet IKsPropertySet_iface; + LONG ref; +} IKsPrivatePropertySetImpl; + +static IKsPrivatePropertySetImpl *impl_from_IKsPropertySet(IKsPropertySet *iface) +{ + return CONTAINING_RECORD(iface, IKsPrivatePropertySetImpl, IKsPropertySet_iface); +} + /******************************************************************************* * IKsPrivatePropertySet */ @@ -54,7 +65,7 @@ static HRESULT WINAPI IKsPrivatePropertySetImpl_QueryInterface( REFIID riid, LPVOID *ppobj ) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); TRACE("(%p,%s,%p)\n",This,debugstr_guid(riid),ppobj); if (IsEqualIID(riid, &IID_IUnknown) || @@ -69,7 +80,7 @@ static HRESULT WINAPI IKsPrivatePropertySetImpl_QueryInterface( static ULONG WINAPI IKsPrivatePropertySetImpl_AddRef(LPKSPROPERTYSET iface) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); ULONG ref = InterlockedIncrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref - 1); return ref; @@ -77,7 +88,7 @@ static ULONG WINAPI IKsPrivatePropertySetImpl_AddRef(LPKSPROPERTYSET iface) static ULONG WINAPI IKsPrivatePropertySetImpl_Release(LPKSPROPERTYSET iface) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); ULONG ref = InterlockedDecrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref + 1); @@ -514,7 +525,7 @@ static HRESULT WINAPI IKsPrivatePropertySetImpl_Get( ULONG cbPropData, PULONG pcbReturned ) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); TRACE("(iface=%p,guidPropSet=%s,dwPropID=%d,pInstanceData=%p,cbInstanceData=%d,pPropData=%p,cbPropData=%d,pcbReturned=%p)\n", This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned); @@ -561,7 +572,7 @@ static HRESULT WINAPI IKsPrivatePropertySetImpl_Set( LPVOID pPropData, ULONG cbPropData ) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); FIXME("(%p,%s,%d,%p,%d,%p,%d), stub!\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData); return E_PROP_ID_UNSUPPORTED; @@ -573,7 +584,7 @@ static HRESULT WINAPI IKsPrivatePropertySetImpl_QuerySupport( ULONG dwPropID, PULONG pTypeSupport ) { - IKsPrivatePropertySetImpl *This = (IKsPrivatePropertySetImpl *)iface; + IKsPrivatePropertySetImpl *This = impl_from_IKsPropertySet(iface); TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport); if ( IsEqualGUID( &DSPROPSETID_DirectSoundDevice, guidPropSet) ) { @@ -624,7 +635,7 @@ static const IKsPropertySetVtbl ikspvt = { HRESULT IKsPrivatePropertySetImpl_Create( REFIID riid, - IKsPrivatePropertySetImpl **piks) + IKsPropertySet **piks) { IKsPrivatePropertySetImpl *iks; TRACE("(%s, %p)\n", debugstr_guid(riid), piks); @@ -637,8 +648,8 @@ HRESULT IKsPrivatePropertySetImpl_Create( iks = HeapAlloc(GetProcessHeap(),0,sizeof(*iks)); iks->ref = 1; - iks->lpVtbl = &ikspvt; + iks->IKsPropertySet_iface.lpVtbl = &ikspvt; - *piks = iks; + *piks = &iks->IKsPropertySet_iface; return S_OK; }