Condividi tramite


Filtrare Graph Manager

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEnginee Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare un nuovo codice MediaPlayer, IMFMediaEngine e Acquisizione audio/video 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.

Filter Graph Manager compila e controlla i grafici dei filtri. Questo oggetto è il componente centrale in DirectShow. Le applicazioni lo usano per compilare e controllare i grafici dei filtri. Filter Graph Manager gestisce anche la sincronizzazione, la notifica degli eventi e altri aspetti del controllo del grafico dei filtri. Creare questo oggetto chiamando CoCreateInstance.

CLSID

Per la creazione di Filter Graph Manager sono disponibili due CLSID:

CLSID Descrizione
CLSID_FilterGraph Crea Filter Graph Manager in un thread di lavoro condiviso.
CLSID_FilterGraphNoThread Crea Filter Graph Manager nel thread dell'applicazione.

 

In genere, le applicazioni devono usare CLSID_FilterGraph. Entrambi i CLSID creano lo stesso oggetto, ma usano modelli di threading diversi:

  • CLSID_FilterGraph crea Filter Graph Manager in un thread di lavoro, condiviso da tutte le istanze di CLSID_FilterGraph all'interno dello stesso processo. Il thread invia i messaggi inviati dai filtri e controlla la durata di tutte le finestre create dai filtri.
  • CLSID_FilterGraphNoThread crea Filter Graph Manager nel thread dell'applicazione. Se si usa questo CLSID, il thread che chiama CoCreateInstance deve avere un ciclo di messaggi che invia messaggi; in caso contrario, possono verificarsi deadlock. Inoltre, prima dell'uscita dal thread dell'applicazione, deve rilasciare Filter Graph Manager e tutti gli oggetti grafo ( ad esempio filtri, pin, orologi di riferimento e così via).

Interfacce

Filter Graph Manager espone le interfacce seguenti:

directshow oggetti