Freigeben über


CSourceStream.GetMediaType-Methode (Source.h): iPosition- und pMediaType-Parameter

[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 GetMediaType-Methode ruft einen bevorzugten Medientyp ab.

Syntax

virtual HRESULT GetMediaType(
   int        iPosition,
   CMediaType *pMediaType
);

Parameter

iPosition

Nullbasierter Indexwert.

pMediaType

Zeiger auf ein CMediaType-Objekt , das den Medientyp empfängt.

Rückgabewert

Gibt einen der in der folgenden Tabelle gezeigten HRESULT-Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
VFW_S_NO_MORE_ITEMS
Index außerhalb des Bereichs.
E_INVALIDARG
Index kleiner als 0 (null).
E_UNEXPECTED
Unerwarteter Fehler.

Bemerkungen

Es gibt zwei Versionen dieser Methode. Eine Version überschreibt die CBasePin::GetMediaType-Methode und verwendet einen Indexwert als Parameter. Die andere Version dient zum Abrufen eines einzelnen Medientyps, sodass der Indexparameter fehlt.

Die Einzelparametermethode gibt E_UNEXPECTED zurück. Die Methode mit zwei Parametern überprüft, ob der iPosition-Parameter null ist, und ruft dann die Einzelparameterversion auf. Abhängig von der Anzahl der Medientypen, die die Pin unterstützt, müssen Sie eine der folgenden Methoden überschreiben:

  • Wenn der Pin genau einen Medientyp unterstützt, überschreiben Sie die Einzelparameterversion. Geben Sie den Von der Pin unterstützten Medientyp ein.
  • Wenn der Pin mehr als einen Medientyp unterstützt, überschreiben Sie die Version mit zwei Parametern. Überschreiben Sie auch die CSourceStream::CheckMediaType-Methode .

Anforderungen

Anforderung Wert
Header Source.h (include Streams.h)
Bibliothek Strmbase.lib (Einzelhandelsbuilds); Strmbasd.lib (Debugbuilds)

Siehe auch

CSourceStream-Klasse