IBaseFilter::JoinFilterGraph-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die JoinFilterGraph
-Methode benachrichtigt den Filter, dass er das Filterdiagramm verknüpft oder verlassen hat.
Syntax
HRESULT JoinFilterGraph(
[in] IFilterGraph *pGraph,
[in] LPCWSTR pName
);
Parameter
[in] pGraph
Zeiger auf die IFilterGraph-Schnittstelle des Filtergraph-Managers oder NULL , wenn der Filter das Diagramm verlässt.
[in] pName
Zeiger auf eine Breitzeichenzeichenfolge, die einen Namen für den Filter angibt.
Rückgabewert
Gibt bei erfolgreicher Ausführung S_OK oder einen HRESULT-Wert zurück, der die Fehlerursache angibt.
Hinweise
Wenn der Filtergraph-Manager dem Filterdiagramm einen Filter hinzufügt, ruft er diese Methode mit einem Zeiger auf sich selbst auf. Dieser instance des Filters wird über den pName-Parameter ein Name zugewiesen. Der Name kann durch Aufrufen der IBaseFilter::QueryFilterInfo-Methode abgerufen werden.
Wenn der Filtergraph-Manager den Filter aus dem Graphen entfernt, ruft er diese Methode mit einem NULL-Zeiger auf.
Anwendungen sollten diese Methode niemals aufrufen. Um dem Diagramm einen Filter hinzuzufügen, rufen Sie die IFilterGraph::AddFilter-Methode im Filterdiagramm-Manager auf.
Filterentwickler: Der Filter kann den IFilterGraph-Schnittstellenzeiger speichern und nach anderen Filter Graph Manager-Schnittstellen abfragen. Es darf jedoch niemals eine Referenzanzahl im Filter Graph-Manager enthalten. Dadurch wird eine kreisförmige Verweisanzahl erstellt, da der Filterdiagramm-Manager eine Verweisanzahl für den Filter behält. Eine kreisförmige Verweisanzahl verhindert, dass die Schnittstelle ordnungsgemäß freigegeben wird, was zu einem Deadlock führen kann. Die IFilterGraph-Schnittstelle ist garantiert gültig, bis der Filter Graph-Manager diese Methode erneut mit dem Wert NULL aufruft. Eine Implementierung dieser Methode finden Sie in der CBaseFilter::JoinFilterGraph-Methode .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | strmif.h (include Dshow.h) |
Bibliothek | Strmiids.lib |