dmsynth: The DMSynth{,Sink} COM objects don't support aggregation.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a7e52707b0
commit
91ba1a2561
|
@ -32,7 +32,7 @@ LONG DMSYNTH_refCount = 0;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
IClassFactory IClassFactory_iface;
|
IClassFactory IClassFactory_iface;
|
||||||
HRESULT WINAPI (*fnCreateInstance)(REFIID riid, void **ppv, IUnknown *pUnkOuter);
|
HRESULT WINAPI (*fnCreateInstance)(REFIID riid, void **ppv);
|
||||||
} IClassFactoryImpl;
|
} IClassFactoryImpl;
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
|
@ -84,7 +84,10 @@ static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown
|
||||||
|
|
||||||
TRACE ("(%p, %s, %p)\n", pUnkOuter, debugstr_dmguid(riid), ppv);
|
TRACE ("(%p, %s, %p)\n", pUnkOuter, debugstr_dmguid(riid), ppv);
|
||||||
|
|
||||||
return This->fnCreateInstance(riid, ppv, pUnkOuter);
|
if (pUnkOuter)
|
||||||
|
return CLASS_E_NOAGGREGATION;
|
||||||
|
|
||||||
|
return This->fnCreateInstance(riid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
|
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
|
||||||
|
|
|
@ -50,8 +50,8 @@ typedef struct IDirectMusicSynthSinkImpl IDirectMusicSynthSinkImpl;
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* ClassFactory
|
* ClassFactory
|
||||||
*/
|
*/
|
||||||
extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN;
|
extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl(REFIID riid, void **ppobj) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN;
|
extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl(REFIID riid, void **ppobj) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDirectMusicSynth8Impl implementation structure
|
* IDirectMusicSynth8Impl implementation structure
|
||||||
|
|
|
@ -575,14 +575,14 @@ static const IKsControlVtbl DMSynthImpl_IKsControl_Vtbl = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* for ClassFactory */
|
/* for ClassFactory */
|
||||||
HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl(REFIID riid, void **ppobj, IUnknown *outer)
|
HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl(REFIID riid, void **ppobj)
|
||||||
{
|
{
|
||||||
static const WCHAR descrW[] = {'M','i','c','r','o','s','o','f','t',' ',
|
static const WCHAR descrW[] = {'M','i','c','r','o','s','o','f','t',' ',
|
||||||
'S','y','n','t','h','e','s','i','z','e','r',0};
|
'S','y','n','t','h','e','s','i','z','e','r',0};
|
||||||
IDirectMusicSynth8Impl *obj;
|
IDirectMusicSynth8Impl *obj;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
TRACE("(%s, %p, %p)\n", debugstr_guid(riid), ppobj, outer);
|
TRACE("(%s, %p)\n", debugstr_guid(riid), ppobj);
|
||||||
|
|
||||||
obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*obj));
|
obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*obj));
|
||||||
if (NULL == obj) {
|
if (NULL == obj) {
|
||||||
|
|
|
@ -267,12 +267,12 @@ static const IKsControlVtbl DMSynthSinkImpl_IKsControl_Vtbl = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* for ClassFactory */
|
/* for ClassFactory */
|
||||||
HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl(LPCGUID riid, LPVOID* ret_iface, LPUNKNOWN unkouter)
|
HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl(REFIID riid, void **ret_iface)
|
||||||
{
|
{
|
||||||
IDirectMusicSynthSinkImpl *obj;
|
IDirectMusicSynthSinkImpl *obj;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
TRACE("(%p,%p,%p)\n", riid, ret_iface, unkouter);
|
TRACE("(%s, %p)\n", debugstr_guid(riid), ret_iface);
|
||||||
|
|
||||||
*ret_iface = NULL;
|
*ret_iface = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue