Método CBaseStreamControl.SetFilterGraph
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O SetFilterGraph
método especifica o coletor de eventos para eventos de controle de fluxo.
Sintaxe
void SetFilterGraph(
IMediaEventSink *pSink
);
Parâmetros
-
Psink
-
Ponteiro para a interface IMediaEventSink do Gerenciador de Gráficos de Filtro ou NULL quando o filtro sai do grafo de filtro.
Retornar valor
Esse método não retorna um valor.
Comentários
Chame esse método de dentro do método IBaseFilter::JoinFilterGraph do filtro. A classe CBaseStreamControl usa a interface IMediaEventSink para enviar eventos EC_STREAM_CONTROL_STARTED e EC_STREAM_CONTROL_STOPPED .
Se o filtro derivar de CBaseFilter, primeiro chame o método CBaseFilter::JoinFilterGraph , que define a variável de membro CBaseFilter::m_pSink . Em seguida , passe m_pSink para o SetFilterGraph
método . Observe que m_pSink é NULL quando o filtro sai do grafo, o que está correto.
Exemplos
STDMETHODIMP CMyFilter::JoinFilterGraph(IFilterGraph * pGraph, LPCWSTR pName)
{
// Note: It's OK if pGraph is NULL.
HRESULT hr = CBaseFilter::JoinFilterGraph(pGraph, pName);
if (SUCCEEDED(hr))
{
m_pMyPin->SetFilterGraph(m_pSink);
}
return hr;
}
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|