mirror of
https://github.com/reactos/wine.git
synced 2025-02-22 05:40:50 +00:00
dmime: Merge the IClassFactory implementations.
This commit is contained in:
parent
0c4ec942ba
commit
29575d2f4c
@ -27,708 +27,105 @@ static HINSTANCE instance;
|
||||
LONG DMIME_refCount = 0;
|
||||
|
||||
typedef struct {
|
||||
const IClassFactoryVtbl *lpVtbl;
|
||||
IClassFactory IClassFactory_iface;
|
||||
HRESULT WINAPI (*fnCreateInstance)(REFIID riid, void **ppv, IUnknown *pUnkOuter);
|
||||
} IClassFactoryImpl;
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicPerformance ClassFactory
|
||||
* IClassFactory implementation
|
||||
*/
|
||||
static HRESULT WINAPI PerformanceCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
static inline IClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, IClassFactoryImpl, IClassFactory_iface);
|
||||
}
|
||||
|
||||
static ULONG WINAPI PerformanceCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
if (IsEqualGUID(&IID_IUnknown, riid))
|
||||
TRACE("(%p)->(IID_IUnknown %p)\n", iface, ppv);
|
||||
else if (IsEqualGUID(&IID_IClassFactory, riid))
|
||||
TRACE("(%p)->(IID_IClassFactory %p)\n", iface, ppv);
|
||||
else {
|
||||
FIXME("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppv);
|
||||
*ppv = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
*ppv = iface;
|
||||
IUnknown_AddRef((IUnknown*)*ppv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static ULONG WINAPI PerformanceCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
|
||||
{
|
||||
DMIME_LockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PerformanceCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicPerformanceImpl (riid, ppobj, pOuter);
|
||||
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
|
||||
{
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PerformanceCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
IClassFactoryImpl *This = impl_from_IClassFactory(iface);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
TRACE ("(%p, %s, %p)\n", pUnkOuter, debugstr_dmguid(riid), ppv);
|
||||
|
||||
return This->fnCreateInstance(riid, ppv, pUnkOuter);
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl PerformanceCF_Vtbl = {
|
||||
PerformanceCF_QueryInterface,
|
||||
PerformanceCF_AddRef,
|
||||
PerformanceCF_Release,
|
||||
PerformanceCF_CreateInstance,
|
||||
PerformanceCF_LockServer
|
||||
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
|
||||
{
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl classfactory_vtbl = {
|
||||
ClassFactory_QueryInterface,
|
||||
ClassFactory_AddRef,
|
||||
ClassFactory_Release,
|
||||
ClassFactory_CreateInstance,
|
||||
ClassFactory_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl Performance_CF = {&PerformanceCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicSegment ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI SegmentCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegmentCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegmentCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegmentCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicSegmentImpl (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegmentCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl SegmentCF_Vtbl = {
|
||||
SegmentCF_QueryInterface,
|
||||
SegmentCF_AddRef,
|
||||
SegmentCF_Release,
|
||||
SegmentCF_CreateInstance,
|
||||
SegmentCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl Segment_CF = {&SegmentCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicSegmentState ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI SegmentStateCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegmentStateCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based objects */
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegmentStateCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegmentStateCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicSegmentStateImpl (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegmentStateCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl SegmentStateCF_Vtbl = {
|
||||
SegmentStateCF_QueryInterface,
|
||||
SegmentStateCF_AddRef,
|
||||
SegmentStateCF_Release,
|
||||
SegmentStateCF_CreateInstance,
|
||||
SegmentStateCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl SegmentState_CF = {&SegmentStateCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicGraph ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI GraphCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI GraphCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI GraphCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI GraphCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicGraphImpl (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI GraphCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl GraphCF_Vtbl = {
|
||||
GraphCF_QueryInterface,
|
||||
GraphCF_AddRef,
|
||||
GraphCF_Release,
|
||||
GraphCF_CreateInstance,
|
||||
GraphCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl Graph_CF = {&GraphCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicTempoTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI TempoTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI TempoTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI TempoTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TempoTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicTempoTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TempoTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl TempoTrackCF_Vtbl = {
|
||||
TempoTrackCF_QueryInterface,
|
||||
TempoTrackCF_AddRef,
|
||||
TempoTrackCF_Release,
|
||||
TempoTrackCF_CreateInstance,
|
||||
TempoTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl TempoTrack_CF = {&TempoTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicSeqTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI SeqTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI SeqTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI SeqTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SeqTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicSeqTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SeqTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl SeqTrackCF_Vtbl = {
|
||||
SeqTrackCF_QueryInterface,
|
||||
SeqTrackCF_AddRef,
|
||||
SeqTrackCF_Release,
|
||||
SeqTrackCF_CreateInstance,
|
||||
SeqTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl SeqTrack_CF = {&SeqTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicSysExTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI SysExTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI SysExTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI SysExTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SysExTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
return DMUSIC_CreateDirectMusicSysExTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SysExTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl SysExTrackCF_Vtbl = {
|
||||
SysExTrackCF_QueryInterface,
|
||||
SysExTrackCF_AddRef,
|
||||
SysExTrackCF_Release,
|
||||
SysExTrackCF_CreateInstance,
|
||||
SysExTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl SysExTrack_CF = {&SysExTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicTimeSigTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI TimeSigTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI TimeSigTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI TimeSigTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TimeSigTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicTimeSigTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI TimeSigTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl TimeSigTrackCF_Vtbl = {
|
||||
TimeSigTrackCF_QueryInterface,
|
||||
TimeSigTrackCF_AddRef,
|
||||
TimeSigTrackCF_Release,
|
||||
TimeSigTrackCF_CreateInstance,
|
||||
TimeSigTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl TimeSigTrack_CF = {&TimeSigTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicParamControlTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI ParamControlTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI ParamControlTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI ParamControlTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ParamControlTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicParamControlTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ParamControlTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl ParamControlTrackCF_Vtbl = {
|
||||
ParamControlTrackCF_QueryInterface,
|
||||
ParamControlTrackCF_AddRef,
|
||||
ParamControlTrackCF_Release,
|
||||
ParamControlTrackCF_CreateInstance,
|
||||
ParamControlTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl ParamControlTrack_CF = {&ParamControlTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicMarkerTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI MarkerTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI MarkerTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI MarkerTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI MarkerTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicMarkerTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI MarkerTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl MarkerTrackCF_Vtbl = {
|
||||
MarkerTrackCF_QueryInterface,
|
||||
MarkerTrackCF_AddRef,
|
||||
MarkerTrackCF_Release,
|
||||
MarkerTrackCF_CreateInstance,
|
||||
MarkerTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl MarkerTrack_CF = {&MarkerTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicLyricsTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI LyricsTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI LyricsTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI LyricsTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI LyricsTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicLyricsTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI LyricsTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl LyricsTrackCF_Vtbl = {
|
||||
LyricsTrackCF_QueryInterface,
|
||||
LyricsTrackCF_AddRef,
|
||||
LyricsTrackCF_Release,
|
||||
LyricsTrackCF_CreateInstance,
|
||||
LyricsTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl LyricsTrack_CF = {&LyricsTrackCF_Vtbl};
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicSegTriggerTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI SegTriggerTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegTriggerTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI SegTriggerTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegTriggerTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicSegTriggerTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI SegTriggerTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl SegTriggerTrackCF_Vtbl = {
|
||||
SegTriggerTrackCF_QueryInterface,
|
||||
SegTriggerTrackCF_AddRef,
|
||||
SegTriggerTrackCF_Release,
|
||||
SegTriggerTrackCF_CreateInstance,
|
||||
SegTriggerTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl SegTriggerTrack_CF = {&SegTriggerTrackCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicAudioPath ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI AudioPathCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI AudioPathCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI AudioPathCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioPathCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicAudioPathImpl (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioPathCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl AudioPathCF_Vtbl = {
|
||||
AudioPathCF_QueryInterface,
|
||||
AudioPathCF_AddRef,
|
||||
AudioPathCF_Release,
|
||||
AudioPathCF_CreateInstance,
|
||||
AudioPathCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl AudioPath_CF = {&AudioPathCF_Vtbl};
|
||||
|
||||
/******************************************************************
|
||||
* DirectMusicWaveTrack ClassFactory
|
||||
*/
|
||||
static HRESULT WINAPI WaveTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
|
||||
FIXME("- no interface IID: %s\n", debugstr_guid(riid));
|
||||
|
||||
if (ppobj == NULL) return E_POINTER;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI WaveTrackCF_AddRef(LPCLASSFACTORY iface) {
|
||||
DMIME_LockModule();
|
||||
|
||||
return 2; /* non-heap based object */
|
||||
}
|
||||
|
||||
static ULONG WINAPI WaveTrackCF_Release(LPCLASSFACTORY iface) {
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return 1; /* non-heap based object */
|
||||
}
|
||||
|
||||
static HRESULT WINAPI WaveTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
|
||||
TRACE ("(%p, %s, %p)\n", pOuter, debugstr_dmguid(riid), ppobj);
|
||||
|
||||
return DMUSIC_CreateDirectMusicWaveTrack (riid, ppobj, pOuter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI WaveTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
|
||||
TRACE("(%d)\n", dolock);
|
||||
|
||||
if (dolock)
|
||||
DMIME_LockModule();
|
||||
else
|
||||
DMIME_UnlockModule();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static const IClassFactoryVtbl WaveTrackCF_Vtbl = {
|
||||
WaveTrackCF_QueryInterface,
|
||||
WaveTrackCF_AddRef,
|
||||
WaveTrackCF_Release,
|
||||
WaveTrackCF_CreateInstance,
|
||||
WaveTrackCF_LockServer
|
||||
};
|
||||
|
||||
static IClassFactoryImpl WaveTrack_CF = {&WaveTrackCF_Vtbl};
|
||||
static IClassFactoryImpl Performance_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicPerformanceImpl};
|
||||
static IClassFactoryImpl Segment_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicSegmentImpl};
|
||||
static IClassFactoryImpl SegmentState_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicSegmentStateImpl};
|
||||
static IClassFactoryImpl Graph_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicGraphImpl};
|
||||
static IClassFactoryImpl TempoTrack_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicTempoTrack};
|
||||
static IClassFactoryImpl SeqTrack_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicSeqTrack};
|
||||
static IClassFactoryImpl SysExTrack_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicSysExTrack};
|
||||
static IClassFactoryImpl TimeSigTrack_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicTimeSigTrack};
|
||||
static IClassFactoryImpl ParamControlTrack_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicParamControlTrack};
|
||||
static IClassFactoryImpl MarkerTrack_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicMarkerTrack};
|
||||
static IClassFactoryImpl LyricsTrack_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicLyricsTrack};
|
||||
static IClassFactoryImpl SegTriggerTrack_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicSegTriggerTrack};
|
||||
static IClassFactoryImpl AudioPath_CF = {{&classfactory_vtbl},
|
||||
DMUSIC_CreateDirectMusicAudioPathImpl};
|
||||
static IClassFactoryImpl WaveTrack_CF = {{&classfactory_vtbl}, DMUSIC_CreateDirectMusicWaveTrack};
|
||||
|
||||
/******************************************************************
|
||||
* DllMain
|
||||
|
Loading…
x
Reference in New Issue
Block a user