CDynamicOutputPin.ChangeMediaType-Methode

Die ChangeMediaType -Methode ändert dynamisch den Medientyp für die Verbindung. Die Änderung kann auftreten, während das Filterdiagramm ausgeführt wird. Sobald diese Methode aufgerufen wurde, können Stichproben mit dem alten Medientyp nicht übermittelt werden. Der Aufrufer muss sicherstellen, dass keine alten Stichproben ausstehen.

Syntax

HRESULT ChangeMediaType(
   const CMediaType *pmt
);

Parameter

Pmt

Zeiger auf eine AM _ MEDIA _ TYPE-Struktur, die den Medientyp angibt.

Rückgabewert

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

Rückgabecode Beschreibung
S _ OK
Erfolg.
E _ FAIL
Fehler. Möglicherweise hat der besitzende Filter CDynamicOutputPin::SetConfigInfonicht aufgerufen.
VFW _ E _ NICHT _ VERBUNDEN
Die Stecknadel ist nicht verbunden.

Hinweise

Rufen Sie die CDynamicOutputPin::StartUsingOutputPin-Methode auf, bevor Sie diese Methode aufrufen.

Diese Methode überprüft zunächst, ob der Downstreameingabepin das neue Format akzeptieren kann, ohne erneut eine Verbindung herzustellen. Er fragt den Eingabepin für die IPinConnection-Schnittstelle ab. Wenn der Eingabepin IPinConnection unterstützt, ruft die -Methode die IPinConnection::D ynamicQueryAccept-Methode mit dem vorgeschlagenen Medientyp auf. Wenn der Eingabepin den neuen Medientyp akzeptiert, ruft die Methode die IPin::ReceiveConnection-Methode auf und verhandelt die Zuweisungsanforderungen neu.

Wenn der Downstreamanschluss IPinConnection hingegen nicht unterstützt oder den neuen Medientyp ablehnt, ruft die Methode die CDynamicOutputPin::D ynamicReconnect-Methode auf, um eine dynamische erneute Verbindung durchzuführen.

Anforderungen

Anforderung Wert
Header
Amfilter.h (include Streams.h)
Bibliothek
Strmbase.lib (Verkaufsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CDynamicOutputPin-Klasse