Metodo CBaseRenderer.WaitForReceiveToComplete

[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 WaitForReceiveToComplete metodo attende il completamento del metodo CBaseRenderer::Receive .

Sintassi

void WaitForReceiveToComplete();

Parametri

Questo metodo non presenta parametri.

Valore restituito

Questo metodo non restituisce valori.

Commenti

I metodi CBaseRenderer::Stop e CBaseRenderer::BeginFlush chiamano questo metodo per sincronizzare la modifica dello stato con il metodo Receive .

In particolare, questo metodo invia messaggi mentre attende che il flag CBaseRenderer::m_bInReceive diventi FALSE. Il flag diventa TRUE nel metodo CBaseRenderer::P repareReceive e torna a FALSE dopo che il metodo Receive chiama il metodo CBaseRenderer::P repareRender . La classe derivata può usare PrepareRender per impostare la tavolozza. L'attesa del completamento di PrepareRender garantisce che i messaggi di modifica della tavolozza vengano inviati prima che si verifichi la modifica dello stato. In questo modo si evita un potenziale deadlock.

Requisiti

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

Vedi anche

Classe CBaseRenderer