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 |
---|---|
|
Impossibile allocare la memoria necessaria. |
|
Impossibile trovare un pin di input candidato. |
|
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 |