我想实现IPinFlowControl
接口,它有一个方法块。
我试过下面的代码,
Mux::NonDelegatingQueryInterface(REFIID iid, void** ppv)
{
if(iid==IID_IPinFlowControl)
{
return GetInterface((IPinFlowControl*) this, ppv);
}
return CBaseFilter::NonDelegatingQueryInterface(iid, ppv);
}
STDMETHODIMP Mux::Block(DWORD dwBlockFlags,HANDLE hEvent)
{
return S_OK;
}
并注册上面的过滤器。
现在在代码中我创建了上述过滤器的实例,连接它的输出引脚然后尝试
IPin *pMuxOut2 = NULL;
hr = FindUnconnectedPin(mux,PINDIR_OUTPUT,&pMuxOut2);
IPinFlowControl *pinFlowControl=NULL;
hr=pMuxOut2->QueryInterface(IID_IPinFlowControl,(void**)&pinFlowControl);
但是我在 pinFlowControl 中得到了 E_NonInterface,
还请帮助我正确实施阻止和解除阻止输出的阻止方法。