dmusic: Fix IDirectMusicPortImpl_QueryInterface.

This commit is contained in:
Christian Costa 2008-12-22 13:58:08 +01:00 committed by Alexandre Julliard
parent cff3915310
commit f86b6e87f3
1 changed files with 15 additions and 8 deletions

View File

@ -23,18 +23,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic);
/* IDirectMusicPortImpl IUnknown part: */ /* IDirectMusicPortImpl IUnknown part: */
static HRESULT WINAPI IDirectMusicPortImpl_QueryInterface (LPDIRECTMUSICPORT iface, REFIID riid, LPVOID *ppobj) { static HRESULT WINAPI IDirectMusicPortImpl_QueryInterface (LPDIRECTMUSICPORT iface, REFIID riid, LPVOID *ppobj) {
IDirectMusicPortImpl *This = (IDirectMusicPortImpl *)iface; ICOM_THIS_MULTI(IDirectMusicPortImpl, lpVtbl, iface);
TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ppobj); TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ppobj);
if (IsEqualIID (riid, &IID_IUnknown) || if (IsEqualIID (riid, &IID_IUnknown) ||
IsEqualGUID(riid, &IID_IDirectMusicPort) || IsEqualGUID(riid, &IID_IDirectMusicPort) ||
IsEqualGUID(riid, &IID_IDirectMusicPort8) || IsEqualGUID(riid, &IID_IDirectMusicPort8)) {
IsEqualGUID(riid, &IID_IDirectMusicPortDownload) || *ppobj = &This->lpVtbl;
IsEqualGUID(riid, &IID_IDirectMusicPortDownload8) || IDirectMusicPort_AddRef((LPDIRECTMUSICPORT)*ppobj);
IsEqualGUID(riid, &IID_IDirectMusicThru) || return S_OK;
IsEqualGUID(riid, &IID_IDirectMusicThru8)) { } else if (IsEqualGUID(riid, &IID_IDirectMusicPortDownload) ||
IUnknown_AddRef(iface); IsEqualGUID(riid, &IID_IDirectMusicPortDownload8)) {
*ppobj = This; *ppobj = &This->lpDownloadVtbl;
IDirectMusicPortDownload_AddRef((LPDIRECTMUSICPORTDOWNLOAD)*ppobj);
return S_OK;
} else if (IsEqualGUID(riid, &IID_IDirectMusicThru) ||
IsEqualGUID(riid, &IID_IDirectMusicThru8)) {
*ppobj = &This->lpThruVtbl;
IDirectMusicThru_AddRef((LPDIRECTMUSICTHRU)*ppobj);
return S_OK; return S_OK;
} }
WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ppobj); WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ppobj);