Metodo CBaseRenderer.GetState

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il GetState metodo recupera lo stato dei filtri (in esecuzione, arrestato o sospeso).

Sintassi

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

Parametri

dwMilliSecsTimeout

Intervallo di timeout, espresso in millisecondi.

State

Puntatore a una variabile che riceve un membro del tipo enumerato FILTER_STATE , che indica lo stato del filtro.

Valore restituito

Restituisce uno dei valori HRESULT illustrati nella tabella seguente.

Codice restituito Descrizione
S_OK
Operazione completata.
VFW_S_STATE_INTERMEDIATE
Il filtro passa allo stato indicato.
E_POINTER
Argomento puntatore NULL.

Commenti

Questo metodo esegue l'override del metodo CBaseFilter::GetState . Quando il renderer viene sospeso, non completa la transizione dello stato fino a quando non riceve un esempio di cui eseguire il rendering. Se il timeout scade prima del completamento della transizione dello stato, il metodo restituisce VFW_S_STATE_INTERMEDIATE.

Requisiti

Requisito Valore
Intestazione
Renbase.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CBaseRenderer