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 |
|
| Bibliothek |
|