ICaptureGraphBuilder2::FindInterface-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 FindInterface
-Methode durchsucht das Diagramm nach einer angegebenen Schnittstelle, beginnend mit einem angegebenen Filter. Sie können die Suche auf einen Abschnitt des Diagramms Upstream oder nach dem Filter beschränken oder auf eine bestimmte Pinkategorie oder einen bestimmten Medientyp beschränken.
Syntax
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
Parameter
[in] pCategory
Ein Zeiger auf eine GUID, die die Suchkriterien angibt. Weitere Informationen finden Sie unter Hinweise. Folgende Werte sind möglich:
- &LOOK_UPSTREAM_ONLY.
- &LOOK_DOWNSTREAM_ONLY.
- Eine der in Pin-Eigenschaftensatz aufgeführten Pinkategorien.
- NULL
[in] pType
Zeiger auf eine GUID, die den Hauptmedientyp eines Ausgabepins oder NULL angibt.
[in] pf
Zeiger auf die IBaseFilter-Schnittstelle des Filters. Die -Methode beginnt mit der Suche über diesen Filter.
[in] riid
Schnittstellenbezeichner (IID) der zu suchenden Schnittstelle.
[out] ppint
Adresse einer Variablen, die den Schnittstellenzeiger empfängt. Stellen Sie sicher, dass Sie den abgerufenen Schnittstellenzeiger loslassen, wenn Sie mit der Schnittstelle fertig sind.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Fehler. |
|
Diese Schnittstelle wird nicht unterstützt. |
|
NULL-Zeigerargument. |
Hinweise
In einem Erfassungsdiagramm können verschiedene Filter und Pins Schnittstellen zum Festlegen von Eigenschaften wie Komprimierungsparametern (IAMVideoCompression) oder Streamformaten (IAMStreamConfig) verfügbar machen. Abhängig vom Aufnahmegerät können andere nützliche Schnittstellen IAMCrossbar sein, die analoge Signale weitergibt, oder IAMTVTuner, der ein TV-Tuner-Gerät steuert. Sie können diese Methode verwenden, um eine Schnittstelle zu finden, ohne speziellen Code zu schreiben, der das Diagramm durchläuft.
- Der Filter
- Die Pins des Filters
- Alle nachgeschalteten Filter, einschließlich ihrer Pins
- Alle Upstream Filter, einschließlich ihrer Pins
- Wenn pCategory gleich &LOOK_UPSTREAM_ONLY ist, beginnt die Suche mit den Eingabenadeln des Filters und setzt Upstream fort. Er enthält weder den Filter noch etwas, das dem Filter nachgeschaltet ist. Der pType-Parameter wird ignoriert.
- Wenn pCategory gleich &LOOK_DOWNSTREAM_ONLY ist, beginnt die Suche mit den Ausgabepins des Filters und wird nachgeschaltet fortgesetzt. Der Filter oder Upstream aus dem Filter ist nicht enthalten. Der pType-Parameter wird ignoriert.
- Wenn pCategory eine Pinkategorie angibt, ist der nachgeschaltete Teil der Suche auf Ausgabepins im Filter beschränkt, die sowohl der Pinkategorie als auch dem im pType-Parameter angegebenen Medientyp entsprechen. In diesem Fall durchsucht die Methode auch den Filter, und alles Upstream aus dem Filter.
Pinkategorien sind nützlich, um Pinschnittstellen in Aufnahmefiltern zu finden. Beispielsweise kann ein Erfassungsfilter über separate Pins für die Erfassung und die Vorschau verfügen. Wenn Sie eine Pinkategorie angeben, sollten Sie auch den Medientyp angeben, um sicherzustellen, dass die Methode den richtigen Filter auswählt und anheftet.
Einige Videoaufnahmefilter verfügen über einen Videoport-Pin (PIN_CATEGORY_VIDEOPORT) anstelle einer Vorschau-Pin. Wenn Sie PIN_CATEGORY_PREVIEW und MEDIATYPE_Video angeben, behandelt die Methode alle Videoport-Pins als Vorschau-Pins. Ihre Anwendung muss diese Möglichkeit nicht testen.
Unterstützende Filter. Wenn ein Aufnahmegerät einen WDM-Treiber (Windows Driver Model) verwendet, erfordert das Diagramm möglicherweise bestimmte Filter Upstream aus dem WDM-Videoaufnahmefilter, z. B. einen TV Tuner-Filter oder einen Analog Video Crossbar-Filter. Wenn der pCategory-Parameter nicht gleich NULL ist, fügt diese Methode automatisch alle erforderlichen WDM-Filter in das Diagramm ein. Dazu fragt er die Eingabenadeln im Erfassungsfilter ab, um zu bestimmen, welche Medien sie unterstützen, und verbindet sie mit übereinstimmenden Filtern. Wenn der pCategory-ParameterNULL ist, fügt die Methode die Upstream Filter nicht hinzu.
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 |