Freigeben über


CSourceStream.GetMediaType-Methode (Source.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die GetMediaType -Methode ruft einen bevorzugten Medientyp ab.

Syntax

virtual HRESULT GetMediaType(
   CMediaType *pMediaType
);

Parameter

pMediaType

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

Rückgabewert

Gibt einen der in der folgenden Tabelle dargestellten 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 00.
E_UNEXPECTED
Unerwarteter Fehler.

Bemerkungen

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

Die Single-Parameter-Methode gibt E_UNEXPECTED zurück. Die Methode mit zwei Parametern überprüft, ob der iPosition-Parameter 0 ist, und ruft dann die Einzelparameterversion auf. Abhängig von der Anzahl der vom Pin unterstützten Medientypen müssen Sie eine der folgenden Methoden außer Kraft setzen:

  • Wenn der Pin genau einen Medientyp unterstützt, überschreiben Sie die Einzelparameterversion. Geben Sie den Medientyp ein, den die Pin unterstützt.
  • Wenn der Pin mehrere Medientypen 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