Freigeben über


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
S_OK
Erfolg.
E_NOINTERFACE
Der Quellfilter unterstützt die IFileSourceFilter-Schnittstelle nicht.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.
E_POINTER
NULL-Zeigerargument.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
Der Quellfilter für diese Datei konnte nicht geladen werden.
VFW_E_NOT_FOUND
Datei oder Objekt nicht gefunden.
VFW_E_UNKNOWN_FILE_TYPE
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

Weitere Informationen

Fehler- und Erfolgscodes

IGraphBuilder-Schnittstelle