Freigeben über


CBasePin.TryMediaTypes-Methode

[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.]

Bei einer Liste von Medientypen versucht die TryMediaTypes -Methode, eine Verbindung mit einem dieser Typen herzustellen.

Syntax

virtual HRESULT TryMediaTypes(
         IPin            *pReceivePin,
   const CMediaType      *pmt,
         IEnumMediaTypes *pEnum
);

Parameter

pReceivePin

Zeiger auf die IPin-Schnittstelle des empfangenden Pins.

Pmt

Zeiger auf ein CMediaType-Objekt , das die möglichen Medientypen einschränkt, oder NULL.

pEnum

Zeiger auf eine IEnumMediaTypes-Schnittstelle , die zum Auflisten der Liste der Medientypen verwendet wird.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die werte in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
VFW_E_NO_ACCEPTABLE_TYPES
Es wurde kein akzeptabler Medientyp gefunden.

Bemerkungen

Für jeden Medientyp, der von der IEnumMediaTypes-Schnittstelle zurückgegeben wird, versucht diese Methode eine Verbindung durch Aufrufen der CBasePin::AttemptConnection-Methode .

Wenn der pmt-Parameter nicht NULL ist, überspringt der Pin Medientypen, die diesem Typ nicht entsprechen. Der parameter pmt kann einen partiellen Medientyp angeben. Ein partieller Medientyp hat den Wert GUID_NULL entweder für den Haupttyp, den Untertyp oder das Format. Der GUID_NULL Wert entspricht einem beliebigen Typ, ähnlich einem "Wildcard"-Wert.

Anforderungen

Anforderung Wert
Header
Amfilter.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBasePin-Klasse