IGraphBuilder::AddSourceFilter-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die AddSourceFilter
-Methode fügt dem Filterdiagramm einen Quellfilter für eine angegebene Datei hinzu.
Syntax
HRESULT AddSourceFilter(
[in] LPCWSTR lpcwstrFileName,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Parameter
[in] lpcwstrFileName
Gibt den Namen der zu ladenden Datei an.
[in] lpcwstrFilterName
Gibt einen Namen für den Quellfilter an.
[out] ppFilter
Empfängt einen Zeiger auf die IBaseFilter-Schnittstelle des Filters. Der Aufrufer muss die Schnittstelle freigeben.
Rückgabewert
Gibt ein HRESULT zurück. Die folgenden Werte sind möglich.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Der Quellfilter unterstützt die IFileSourceFilter-Schnittstelle nicht. |
|
Nicht genügend Arbeitsspeicher. |
|
NULL-Zeigerargument. |
|
Der Quellfilter für diese Datei konnte nicht geladen werden. |
|
Datei oder Objekt nicht gefunden. |
|
Der Medientyp dieser Datei wurde nicht erkannt. |
Hinweise
Diese Methode sucht nach einem installierten Filter, der die angegebene Datei lesen kann. Wenn eine gefunden wird, fügt die Methode sie dem Filterdiagramm hinzu und gibt einen Zeiger auf die IBaseFilter-Schnittstelle des Filters zurück. Um den Medientyp und das Komprimierungsschema der Datei zu bestimmen, liest der Graph-Filter-Manager die ersten Bytes der Datei und sucht nach bestimmten Bytemustern, wie im Artikel Registrieren eines benutzerdefinierten Dateityps beschrieben.
Die Anwendung ist für die Erstellung des restlichen Filterdiagramms verantwortlich. Rufen Sie dazu IBaseFilter::EnumPins auf, um die Ausgabepins für den Quellfilter aufzulisten. Verwenden Sie dann entweder die IGraphBuilder::Connect-Methode oder die IGraphBuilder::Render-Methode .
Wenn die Methode erfolgreich ist, verfügt die IBaseFilter-Schnittstelle über eine ausstehende Verweisanzahl. Der Aufrufer muss die Schnittstelle freigeben.
Verwenden Sie zum Rendern einer Datei für die Standardwiedergabe die IGraphBuilder::RenderFile-Methode .
Der Filtergraph-Manager enthält eine Verweisanzahl für den Filter, bis der Filter aus dem Diagramm entfernt oder der Filtergraph-Manager freigegeben wird.
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 |