Metodo CTransformFilter.Receive
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine 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, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il Receive
metodo riceve un esempio multimediale, lo elabora e fornisce un esempio di output al filtro downstream.
Sintassi
HRESULT Receive(
IMediaSample *pSample
);
Parametri
-
pSample
-
Puntatore all'interfaccia IMediaSample nell'esempio di input.
Valore restituito
Restituisce un valore HRESULT . I possibili valori sono i seguenti:
Codice restituito | Descrizione |
---|---|
|
Il filtro upstream deve interrompere l'invio di esempi. |
|
Operazione completata. |
Commenti
Il pin di input del filtro chiama questo metodo quando riceve un esempio. Questo metodo chiama il metodo CTransformFilter::InitializeOutputSample , che prepara un nuovo esempio di output. Chiama quindi il metodo CTransformFilter::Transform , che la classe derivata deve implementare. Il metodo Transform elabora i dati di input e produce dati di output.
Se il metodo Transform restituisce S_FALSE, il metodo elimina questo Receive
esempio. Nel primo esempio eliminato, il filtro invia un evento EC_QUALITY_CHANGE alla gestione dei grafici di filtro. In caso contrario, se il metodo Transform restituisce S_OK, il filtro restituisce l'esempio di output. A tale scopo, chiama il metodo IMemInputPin::Receive nel pin di input downstream.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|