Commit 3e48fe9d authored by Christian Costa's avatar Christian Costa Committed by Alexandre Julliard

dmsynth: Check the rigth CLSID to create the DirectMusicSynthSink object.

parent d2d5d0e0
...@@ -148,15 +148,16 @@ HRESULT WINAPI DllCanUnloadNow(void) ...@@ -148,15 +148,16 @@ HRESULT WINAPI DllCanUnloadNow(void)
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
{ {
TRACE("(%s, %s, %p)\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv); TRACE("(%s, %s, %p)\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv);
if (IsEqualCLSID (rclsid, &CLSID_DirectMusicSynth) && IsEqualIID (riid, &IID_IClassFactory)) {
*ppv = &Synth_CF; if (IsEqualCLSID(rclsid, &CLSID_DirectMusicSynth) && IsEqualIID(riid, &IID_IClassFactory)) {
IClassFactory_AddRef((IClassFactory*)*ppv); *ppv = &Synth_CF;
return S_OK; IClassFactory_AddRef((IClassFactory*)*ppv);
} else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicSynth) && IsEqualIID (riid, &IID_IClassFactory)) { return S_OK;
*ppv = &SynthSink_CF; } else if (IsEqualCLSID(rclsid, &CLSID_DirectMusicSynthSink) && IsEqualIID(riid, &IID_IClassFactory)) {
IClassFactory_AddRef((IClassFactory*)*ppv); *ppv = &SynthSink_CF;
return S_OK; IClassFactory_AddRef((IClassFactory*)*ppv);
} return S_OK;
}
WARN("(%s,%s,%p): no interface found.\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv); WARN("(%s,%s,%p): no interface found.\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv);
return CLASS_E_CLASSNOTAVAILABLE; return CLASS_E_CLASSNOTAVAILABLE;
......
...@@ -43,7 +43,7 @@ static void test_dmsynth(void) ...@@ -43,7 +43,7 @@ static void test_dmsynth(void)
} }
hr = CoCreateInstance(&CLSID_DirectMusicSynthSink, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynthSink, (LPVOID*)&dmsynth_sink); hr = CoCreateInstance(&CLSID_DirectMusicSynthSink, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynthSink, (LPVOID*)&dmsynth_sink);
todo_wine ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr); ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr);
if (dmsynth_sink) if (dmsynth_sink)
IDirectMusicSynthSink_Release(dmsynth_sink); IDirectMusicSynthSink_Release(dmsynth_sink);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment