static HRESULT WINAPI IAMMultiMediaStreamImpl_GetFilter(IAMMultiMediaStream* iface, IMediaStreamFilter** ppFilter) { IAMMultiMediaStreamImpl *This = impl_from_IAMMultiMediaStream(iface); TRACE("(%p/%p)->(%p)\n", This, iface, ppFilter); if (!ppFilter) return E_POINTER; *ppFilter = This->media_stream_filter; if (*ppFilter) IMediaStreamFilter_AddRef(*ppFilter); return S_OK; }
static HRESULT WINAPI MediaStreamFilterImpl_QueryInterface(IMediaStreamFilter *iface, REFIID riid, void **ret_iface) { TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ret_iface); *ret_iface = NULL; if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IPersist) || IsEqualIID(riid, &IID_IMediaFilter) || IsEqualIID(riid, &IID_IBaseFilter) || IsEqualIID(riid, &IID_IMediaStreamFilter)) *ret_iface = iface; if (*ret_iface) { IMediaStreamFilter_AddRef(*ret_iface); return S_OK; } return E_NOINTERFACE; }