Suspension en cours

Toutes les modifications d’état de filtre doivent contenir le verrou de filtre. Dans la méthode Pause , créez les ressources dont le filtre a besoin :

HRESULT CMyFilter::Pause()
{
    CAutoLock lock_it(m_pLock);

    /* Create filter resources. */

    return CBaseFilter::Pause();
}

La méthode CBaseFilter::P ause définit l’état correct sur le filtre (State_Paused) et appelle la méthode CBasePin::Active sur chaque broche connectée du filtre. La méthode Active informe l’épingle que le filtre est devenu actif. Si l’épingle crée des ressources, remplacez la méthode Active , comme suit :

HRESULT CMyInputPin::Active()
{
    // You do not need to hold the filter lock here. It is already held in Pause.

    /* Create pin resources. */

    return CBaseInputPin::Active()
}