CBaseStreamControl.NotifyFilterState-Methode

Die NotifyFilterState -Methode benachrichtigt den Pin, wenn sich der Status des Filters ändert.

Syntax

void NotifyFilterState(
   FILTER_STATE   new_state,
   REFERENCE_TIME tStart = 0
);

Parameter

Neuer _ Zustand

Gibt den neuen Zustand als Member der FILTER _ STATE-Enumeration an.

tStart

Gibt die Startzeit an. Wenn der neue Filterstatus Status _ Wird ausgeführt lautet, übergeben Sie den Wert aus der IMediaFilter::Run-Methode. Andernfalls verwenden Sie den Standardwert.

Rückgabewert

Diese Methode gibt keinen Wert zurück.

Hinweise

Diese Methode bewirkt, dass die CBaseStreamControl::CheckStreamState-Methode das Warten beendet. Rufen Sie diese Methode auf, wenn sich der Zustand des besitzenden Filters ändert.

Beispiele

STDMETHODIMP CMyFilter::Run(REFERENCE_TIME tStart)
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Running, tStart);
   return CBaseFilter::Run(tStart); // Call the filter base class.
}

STDMETHODIMP CMyFilter::Pause()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Paused);
   return CBaseFilter::Pause();
}

STDMETHODIMP CMyFilter::Stop()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Stopped);
   return CBaseFilter::Stop();
}

Anforderungen

Anforderung Wert
Header
Strmctl.h (include Streams.h)
Bibliothek
Strmbase.lib (Verkaufsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseStreamControl-Klasse