Condividi tramite


Metodo CTransformFilter.Transform

[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 Transform metodo trasforma un esempio di input per produrre un esempio di output.

Sintassi

virtual HRESULT Transform(
   IMediaSample *pIn,
   IMediaSample *pOut
);

Parametri

spilla

Puntatore all'interfaccia IMediaSample dell'esempio di input.

Broncio

Puntatore all'interfaccia IMediaSample dell'esempio di output.

Valore restituito

La classe base restituisce E_UNEXPECTED.

La classe derivata deve restituire un valore HRESULT , che indica l'esito positivo o l'errore. I valori possibili includono quelli visualizzati nella tabella seguente.

Codice restituito Descrizione
S_FALSE
Non recapitare questo esempio.
S_OK
Operazione completata.

Commenti

Eseguire l'override di questo metodo per produrre dati di output. Leggere i dati di input dall'esempio specificato dal parametro pIn e scrivere i nuovi dati nell'esempio specificato dal parametro pOut .

Prima che il filtro chiami questo metodo, copia le proprietà dall'esempio di input all'esempio di output. Il Transform metodo deve impostare tutte le proprietà che differiscono tra i due esempi, usando i metodi IMediaSample o l'interfaccia IMediaSample2 (se disponibile).

Se il filtro non deve recapitare questo esempio (ad esempio, per supportare il controllo qualità), il metodo deve restituire S_FALSE.

Requisiti

Requisito Valore
Intestazione
Transfrm.h (includere Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe CTransformFilter