Freigeben über


IFilterGraph::AddFilter-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 AddFilter -Methode fügt dem Diagramm einen Filter hinzu.

Syntax

HRESULT AddFilter(
  [in] IBaseFilter *pFilter,
  [in] LPCWSTR     pName
);

Parameter

[in] pFilter

Zeiger auf die IBaseFilter-Schnittstelle des hinzuzufügenden Filters.

[in] pName

Zeiger auf eine Breitzeichenzeichenfolge, die einen Namen für den Filter enthält.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode Beschreibung
S_OK
Erfolg.
VFW_S_DUPLICATE_NAME
Ein Filter mit einem doppelten Namen wurde erfolgreich hinzugefügt.
E_FAIL
Fehler.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.
E_POINTER
NULL-Zeigerargument.
VFW_E_CERTIFICATION_FAILURE
Die Verwendung dieses Filters wird durch einen Softwareschlüssel eingeschränkt.
VFW_E_DUPLICATE_NAME
Fehler beim Hinzufügen eines Filters mit einem doppelten Namen.

Bemerkungen

Der Name des Filters kann NULL sein. In diesem Fall generiert der Filtergraph-Manager einen Namen. Wenn der Name nicht NULL und nicht eindeutig ist, ändert diese Methode den Namen, um einen neuen eindeutigen Namen zu generieren. Wenn dies erfolgreich ist, gibt diese Methode VFW_S_DUPLICATE_NAME zurück. Wenn kein eindeutiger Name generiert werden kann, wird VFW_E_DUPLICATE_NAME zurückgegeben.

AddFilter ruft die IBaseFilter::JoinFilterGraph-Methode des Filters auf, um den Filter darüber zu informieren, dass er hinzugefügt wurde. AddFilter muss aufgerufen werden, bevor versucht wird, die Methoden IGraphBuilder::Connect, IFilterGraph::ConnectDirect oder IGraphBuilder::Render zum Verbinden oder Rendern von Pins zu verwenden, die zum hinzugefügten Filter gehören.

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

   
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

Siehe auch

Fehler- und Erfolgscodes

IFilterGraph-Schnittstelle