diff --git a/dlls/dmcompos/chordmap.c b/dlls/dmcompos/chordmap.c index ea751af0d43..21849b8e137 100644 --- a/dlls/dmcompos/chordmap.c +++ b/dlls/dmcompos/chordmap.c @@ -524,7 +524,8 @@ static const IPersistStreamVtbl DirectMusicChordMap_PersistStream_Vtbl = { }; /* for ClassFactory */ -HRESULT WINAPI DMUSIC_CreateDirectMusicChordMapImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) { +HRESULT WINAPI create_dmchordmap(REFIID lpcGUID, void **ppobj) +{ IDirectMusicChordMapImpl* obj; obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicChordMapImpl)); diff --git a/dlls/dmcompos/chordmaptrack.c b/dlls/dmcompos/chordmaptrack.c index 6d8f32695c7..cac652cc9a6 100644 --- a/dlls/dmcompos/chordmaptrack.c +++ b/dlls/dmcompos/chordmaptrack.c @@ -269,7 +269,8 @@ static const IPersistStreamVtbl DirectMusicChordMapTrack_PersistStream_Vtbl = { }; /* for ClassFactory */ -HRESULT WINAPI DMUSIC_CreateDirectMusicChordMapTrack (LPCGUID lpcGUID, LPVOID *ppobj, LPUNKNOWN pUnkOuter) { +HRESULT WINAPI create_dmchordmaptrack(REFIID lpcGUID, void **ppobj) +{ IDirectMusicChordMapTrack* track; track = HeapAlloc (GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicChordMapTrack)); diff --git a/dlls/dmcompos/composer.c b/dlls/dmcompos/composer.c index d122e9719c7..2d91f5ea95d 100644 --- a/dlls/dmcompos/composer.c +++ b/dlls/dmcompos/composer.c @@ -112,7 +112,8 @@ static const IDirectMusicComposerVtbl DirectMusicComposer_Vtbl = { }; /* for ClassFactory */ -HRESULT WINAPI DMUSIC_CreateDirectMusicComposerImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) { +HRESULT WINAPI create_dmcomposer(REFIID lpcGUID, void **ppobj) +{ IDirectMusicComposerImpl* obj; obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicComposerImpl)); diff --git a/dlls/dmcompos/dmcompos_main.c b/dlls/dmcompos/dmcompos_main.c index e40c6ea43dc..240cc9d9736 100644 --- a/dlls/dmcompos/dmcompos_main.c +++ b/dlls/dmcompos/dmcompos_main.c @@ -30,12 +30,12 @@ LONG DMCOMPOS_refCount = 0; typedef struct { IClassFactory IClassFactory_iface; - HRESULT WINAPI (*fnCreateInstance)(REFIID riid, void **ppv, IUnknown *pUnkOuter); + HRESULT WINAPI (*fnCreateInstance)(REFIID riid, void **ret_iface); } IClassFactoryImpl; -static HRESULT WINAPI create_direct_music_template(REFIID riid, void **ppv, IUnknown *pUnkOuter) +static HRESULT WINAPI create_direct_music_template(REFIID riid, void **ret_iface) { - FIXME("(%p, %s, %p) stub\n", pUnkOuter, debugstr_dmguid(riid), ppv); + FIXME("(%s, %p) stub\n", debugstr_dmguid(riid), ret_iface); return CLASS_E_CLASSNOTAVAILABLE; } @@ -89,7 +89,12 @@ static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown TRACE ("(%p, %s, %p)\n", pUnkOuter, debugstr_dmguid(riid), ppv); - return This->fnCreateInstance(riid, ppv, pUnkOuter); + if (pUnkOuter) { + *ppv = NULL; + return CLASS_E_NOAGGREGATION; + } + + return This->fnCreateInstance(riid, ppv); } static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock) @@ -112,13 +117,11 @@ static const IClassFactoryVtbl classfactory_vtbl = { ClassFactory_LockServer }; -static IClassFactoryImpl ChordMap_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicChordMapImpl}; -static IClassFactoryImpl Composer_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicComposerImpl}; -static IClassFactoryImpl ChordMapTrack_CF = {{&classfactory_vtbl}, - DMUSIC_CreateDirectMusicChordMapTrack}; +static IClassFactoryImpl ChordMap_CF = {{&classfactory_vtbl}, create_dmchordmap}; +static IClassFactoryImpl Composer_CF = {{&classfactory_vtbl}, create_dmcomposer}; +static IClassFactoryImpl ChordMapTrack_CF = {{&classfactory_vtbl}, create_dmchordmaptrack}; static IClassFactoryImpl Template_CF = {{&classfactory_vtbl}, create_direct_music_template}; -static IClassFactoryImpl SignPostTrack_CF = {{&classfactory_vtbl}, - DMUSIC_CreateDirectMusicSignPostTrack}; +static IClassFactoryImpl SignPostTrack_CF = {{&classfactory_vtbl}, create_dmsignposttrack}; /****************************************************************** * DllMain diff --git a/dlls/dmcompos/dmcompos_private.h b/dlls/dmcompos/dmcompos_private.h index 5e9a9f12393..d6d252c55a8 100644 --- a/dlls/dmcompos/dmcompos_private.h +++ b/dlls/dmcompos/dmcompos_private.h @@ -53,10 +53,10 @@ typedef struct IDirectMusicSignPostTrack IDirectMusicSignPostTrack; /***************************************************************************** * ClassFactory */ -extern HRESULT WINAPI DMUSIC_CreateDirectMusicChordMapImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN; -extern HRESULT WINAPI DMUSIC_CreateDirectMusicComposerImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN; -extern HRESULT WINAPI DMUSIC_CreateDirectMusicChordMapTrack (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN; -extern HRESULT WINAPI DMUSIC_CreateDirectMusicSignPostTrack (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN; +extern HRESULT WINAPI create_dmchordmap(REFIID riid, void **ret_iface) DECLSPEC_HIDDEN; +extern HRESULT WINAPI create_dmcomposer(REFIID riid, void **ret_iface) DECLSPEC_HIDDEN; +extern HRESULT WINAPI create_dmchordmaptrack(REFIID riid, void **ret_iface) DECLSPEC_HIDDEN; +extern HRESULT WINAPI create_dmsignposttrack(REFIID riid, void **ret_iface) DECLSPEC_HIDDEN; /***************************************************************************** * IDirectMusicChordMapImpl implementation structure diff --git a/dlls/dmcompos/signposttrack.c b/dlls/dmcompos/signposttrack.c index 15ff599104f..586c085cf7f 100644 --- a/dlls/dmcompos/signposttrack.c +++ b/dlls/dmcompos/signposttrack.c @@ -267,7 +267,8 @@ static const IPersistStreamVtbl DirectMusicSignPostTrack_PersistStream_Vtbl = }; /* for ClassFactory */ -HRESULT WINAPI DMUSIC_CreateDirectMusicSignPostTrack (LPCGUID lpcGUID, LPVOID *ppobj, LPUNKNOWN pUnkOuter) { +HRESULT WINAPI create_dmsignposttrack(REFIID lpcGUID, void **ppobj) +{ IDirectMusicSignPostTrack* track; track = HeapAlloc (GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicSignPostTrack));