Condividi tramite


Metodo IGraphConfig::P ushThroughData (strmif.h)

[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 PushThroughData metodo esegue il push dei dati tramite il grafico del filtro al pin specificato.

Sintassi

HRESULT PushThroughData(
  [in] IPin           *pOutputPin,
  [in] IPinConnection *pConnection,
  [in] HANDLE         hEventAbort
);

Parametri

[in] pOutputPin

Puntatore all'interfaccia IPin di un pin di output nel grafico del filtro.

[in] pConnection

Puntatore all'interfaccia IPinConnection di un pin di input nel grafico del filtro. Questo parametro può essere NULL.

[in] hEventAbort

Handle per un evento. Se il chiamante è un filtro che chiama su uno dei thread di elaborazione dati, questo parametro deve essere un handle per un evento che verrà segnalato quando il filtro viene inserito in uno stato arrestato. In caso contrario, questo parametro può essere NULL. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Restituisce S_OK se riuscito. In caso contrario, restituisce un codice di errore che può essere uno dei valori seguenti o altri non elencati.

Codice restituito Descrizione
E_OUTOFMEMORY
Impossibile allocare la memoria necessaria.
VFW_E_NOT_FOUND
Impossibile trovare un pin di input candidato.
VFW_E_STATE_CHANGED
Lo stato del filtro è cambiato durante l'operazione.

Commenti

Questo metodo esegue il push di tutti i dati in sospeso, da un pin di output specificato a un pin di input specificato. Facoltativamente, è possibile lasciare non specificato il pin di input e consentire al metodo di cercare il grafico del filtro per il miglior candidato. Non chiamare questo metodo dal thread che esegue il push dei dati.

Se un filtro chiama questo metodo in uno dei propri thread di elaborazione dati, crea il potenziale per un deadlock. Il metodo ottiene un blocco nel grafico del filtro, che può impedire al filtro di arrestare la ricezione di una chiamata a IMediaFilter::Stop. Per evitare questa situazione, il metodo accetta un handle in un oggetto evento fornito dal filtro. Il filtro deve segnalare l'evento se riceve una chiamata al relativo metodo Stop .

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IGraphConfig