CBasePin.AgreeMediaType-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.]

Die AgreeMediaType -Methode sucht nach einem Medientyp, um eine Pinverbindung herzustellen.

Syntax

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Parameter

pReceivePin

Zeiger auf die IPin-Schnittstelle des empfangenden Pins.

Pmt

Zeiger auf ein CMediaType-Objekt , das einen Medientyp oder NULL angibt.

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

Wenn der Parameter pmt nicht NULL ist und vollständig einen Medientyp angibt, versucht diese Methode, mithilfe dieses Medientyps eine Verbindung herzustellen. Wenn der Versuch fehlschlägt, gibt die Methode einen Fehler zurück.

Wenn der parameter pmtNULL ist oder einen partiellen Medientyp angibt, versucht diese Methode Medientypen in der folgenden Reihenfolge:

  1. Die bevorzugten Medientypen des empfangenden Pins.
  2. Die bevorzugten Medientypen dieser Pin.

Bevorzugte Medientypen werden mit der CBasePin::EnumMediaTypes-Methode aufgezählt, und der resultierende Enumerator wird an die CBasePin::TryMediaTypes-Methode übergeben.

Anforderungen

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

Siehe auch

CBasePin-Klasse