dmcompos: None of the COM classes support aggregation.
This commit is contained in:
parent
4f3931eb15
commit
434842e13d
|
@ -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));
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue