Condividi tramite


Interfaccia IGraphConfig (strmif.h)

[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.

Filter Graph Manager espone per supportare la compilazione IGraphConfig dinamica del grafo. Questa interfaccia consente alle applicazioni e ai filtri di riconfigurare il grafico dei filtri mentre il grafico è in esecuzione e senza perdere dati dal flusso.

Il modo più semplice per ricompilare il grafico in modo dinamico consiste nel chiamare il metodo IGraphConfig::Reconnect . Questo metodo gestisce la maggior parte dei dettagli della ricompilazione dinamica del grafico. Se si verifica una situazione in cui si vuole implementare una tecnica personalizzata, IGraphConfig fornisce anche il metodo IGraphConfig::Reconfigure . Questo metodo ottiene un blocco sul grafico del filtro e quindi chiama una funzione di callback nell'applicazione, che riconfigura il grafico. Con questo metodo, la maggior parte del lavoro viene spostata nell'applicazione. Per altre informazioni, vedere Compilazione dinamica del grafo.

Per ottimizzare il processo di aggiunta e rimozione di filtri, il grafico dei filtri mantiene una cache di filtri. Durante una chiamata al metodo Reconnect , è possibile specificare che tutti i filtri rimossi dal grafico vengano aggiunti alla cache. È anche possibile aggiungere direttamente un filtro alla cache, se è probabile che sia necessario, chiamando IGraphConfig::AddFilterToCache. I metodi IGraphBuilder::Render, IGraphBuilder::RenderFile e IGraphBuilder::Connect tentano automaticamente di usare i filtri nella cache prima di usare altri filtri. Inoltre, nel metodo Reconnect è possibile specificare che verranno usati solo i filtri memorizzati nella cache per la riconnessione. Si noti che i filtri contenuti nella cache non fanno effettivamente parte del grafico. Vengono disconnessi da qualsiasi pin e vengono mantenuti in uno stato arrestato.

Ereditarietà

L'interfaccia IGraphConfig eredita dall'interfaccia IUnknown . IGraphConfig include anche questi tipi di membri:

Metodi

L'interfaccia IGraphConfig include questi metodi.

 
IGraphConfig::AddFilterToCache

Il metodo AddFilterToCache aggiunge un filtro alla cache dei filtri.
IGraphConfig::EnumCacheFilter

Il metodo EnumCacheFilter enumera i filtri nella cache dei filtri.
IGraphConfig::GetFilterFlags

Il metodo GetFilterFlags recupera le informazioni di configurazione di un filtro.
IGraphConfig::GetStartTime

Il metodo GetStartTime recupera l'ora di riferimento utilizzata per l'ultima volta nel grafico del filtro in uno stato di esecuzione.
IGraphConfig::P ushThroughData

Il metodo PushThroughData esegue il push dei dati tramite il grafico del filtro al pin specificato.
IGraphConfig::Reconfigure

Il metodo Reconfigure blocca il grafico del filtro e chiama una funzione di callback nell'applicazione o il filtro per eseguire una riconfigurazione dinamica.
IGraphConfig::Reconnect

Il metodo Reconnect esegue una riconnessione dinamica tra due pin.
IGraphConfig::RemoveFilterEx

Il metodo RemoveFilterEx rimuove un filtro dal grafico del filtro.
IGraphConfig::RemoveFilterFromCache

Il metodo RemoveFilterFromCache rimuove un filtro dalla cache dei filtri.
IGraphConfig::SetFilterFlags

Il metodo SetFilterFlags imposta le informazioni di configurazione di un filtro.

Requisiti

Requisito Valore
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)