Méthode CBaseStreamControl. SetFilterGraph

La SetFilterGraph méthode spécifie le récepteur d’événements pour les événements de contrôle de flux.

Syntaxe

void SetFilterGraph(
   IMediaEventSink *pSink
);

Paramètres

pSink

pointeur vers l’interface IMediaEventSink du gestionnaire de Graph, ou NULL lorsque le filtre quitte le graphique de filtre.

Valeur retournée

Cette méthode ne retourne pas de valeur.

Remarques

Appelez cette méthode à l’intérieur de la méthode IBaseFilter :: JoinFilterGraph du filtre. La classe CBaseStreamControl utilise l’interface IMediaEventSink pour envoyer le contrôle de flux de ce qui _ _ _ a démarré et les événements de contrôle de flux EC _ _ _ arrêtés .

Si votre filtre dérive de CBaseFilter, appelez d’abord la méthode CBaseFilter :: JoinFilterGraph , qui définit la variable de membre CBaseFilter :: m _ pSink . Transmettez ensuite m _ pSink à la SetFilterGraph méthode. Notez que m _ pSink a la valeur null lorsque le filtre quitte le graphique, ce qui est correct.

Exemples

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;
}

Configuration requise

Condition requise Valeur
En-tête
Strmctl. h (inclure Flux. h)
Bibliothèque
Strmbase. lib (versions commerciales);
Strmbasd. lib (versions Debug)

Voir aussi

CBaseStreamControl, classe