Metodo CTransInPlaceFilter.Receive
[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 Receive
metodo riceve un campione multimediale, lo elabora e lo distribuisce al filtro downstream.
Sintassi
HRESULT Receive(
IMediaSample *pSample
);
Parametri
-
pSample
-
Puntatore all'interfaccia IMediaSample nell'esempio.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita |
|
Errore imprevisto |
Commenti
Il pin di input del filtro chiama questo metodo quando riceve un esempio. Il filtro chiama il metodo Transform , che la classe derivata deve implementare. Il metodo Transform elabora i dati. Se il filtro usa un solo allocatore, passa pSample direttamente al metodo Transform . In caso contrario, copia pSample e passa la copia.
Se il metodo Transform restituisce S_FALSE, il Receive
metodo elimina l'esempio. Nel primo esempio eliminato, il filtro invia un evento EC_QUALITY_CHANGE al gestore del grafo dei filtri. 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 sul pin di input downstream.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|