CBaseFilter.GetState-Methode

Die GetState -Methode ruft den Zustand der Filter ab (wird ausgeführt, angehalten oder angehalten). Diese Methode implementiert die IMediaFilter::GetState-Methode.

Syntax

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

Parameter

dwMsecsTimeout

Time out-Intervall in Millisekunden.

State

Zeiger auf eine Variable, die einen Member des Enumerationstyps FILTER _ STATE empfängt, der den Zustand des Filters angibt.

Rückgabewert

Gibt S _ OK oder E POINTER _ zurück.

Hinweise

In der Basisklasse sind alle Zustandsübergänge synchron, und der dwMsecsTimeout-Parameter wird ignoriert. Wenn eine abgeleitete Klasse asynchrone Zustandsübergänge ausführt, sollte sie diese Methode überschreiben, um während Zustandsübergängen mit einem Timeout von dwMsecsTimeout in Millisekunden zu warten.

Wenn Ihr Filter keine Daten übermittelt, während er angehalten wird, überschreiben Sie die GetState -Methode, um den Wert VFW _ S _ CANT _ CUE zurückzugeben, wenn der Filter angehalten wird (siehe Bereitstellen von Beispielen). Beispiel:

CMyFilter::GetState(DWORD dw, FILTER_STATE *pState)
{
    CheckPointer(pState, E_POINTER);
    *pState = m_State;
    if (m_State == State_Paused)
        return VFW_S_CANT_CUE;
    else
        return S_OK;
}

Anforderungen

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

Weitere Informationen

CBaseFilter-Klasse