IMFMediaType::IsEqual-Methode (mfobjects.h)

Vergleicht zwei Medientypen und bestimmt, ob sie identisch sind. Wenn sie nicht identisch sind, gibt die -Methode an, wie sich die beiden Formate unterscheiden.

Syntax

HRESULT IsEqual(
  [in]  IMFMediaType *pIMediaType,
  [out] DWORD        *pdwFlags
);

Parameter

[in] pIMediaType

Zeiger auf die IMFMediaType-Schnittstelle des zu vergleichenden Medientyps.

[out] pdwFlags

Empfängt ein bitweises OR mit null oder mehr Flags, was den Grad der Ähnlichkeit zwischen den beiden Medientypen angibt. Die folgenden Flags sind definiert.

Wert Bedeutung
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001
Die Haupttypen sind identisch. Der Haupttyp wird durch das attribut MF_MT_MAJOR_TYPE angegeben.
MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002
Die Untertypen sind identisch, oder keiner der Medientypen verfügt über einen Untertyp. Der Untertyp wird durch das attribut MF_MT_SUBTYPE angegeben.
MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004
Die Attribute in einem der Medientypen sind eine Teilmenge der Attribute im anderen, und die Werte dieser Attribute stimmen überein, mit Ausnahme des Werts der Attribute MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN und MF_MT_FRAME_RATE_RANGE_MAX Attribute.

Insbesondere verwendet die -Methode den Medientyp mit der geringeren Anzahl von Attributen und überprüft, ob jedes Attribut dieses Typs im anderen Medientyp vorhanden ist und denselben Wert aufweist (ohne MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN und MF_MT_FRAME_RATE_RANGE_MAX).

Um andere Vergleiche durchzuführen, verwenden Sie die IMFAttributes::Compare-Methode . Beispielsweise kann die Compare-Methode auf identische Attribute testen oder die Schnittmenge der beiden Attributsätze testen. Weitere Informationen finden Sie unter MF_ATTRIBUTES_MATCH_TYPE.

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008
Die Benutzerdaten sind identisch, oder keiner der Medientypen enthält Benutzerdaten. Benutzerdaten werden durch das attribut MF_MT_USER_DATA angegeben.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode Beschreibung
S_FALSE
Die Typen sind ungleich. Untersuchen Sie den pdwFlags-Parameter , um zu bestimmen, wie sich die Typen unterscheiden.
S_OK
Die Typen sind gleich.
E_INVALIDARG
Ein oder beide Medientypen sind ungültig.

Hinweise

Beide Medientypen müssen über einen Haupttyp verfügen, oder die Methode gibt E_INVALIDARG zurück.

Wenn die Methode erfolgreich ist und alle Vergleichsflags in pdwFlags festgelegt sind, wird der Rückgabewert S_OK. Wenn die Methode erfolgreich ist, aber mindestens ein Vergleichsflag nicht festgelegt ist, gibt die Methode S_FALSE zurück.

Diese Schnittstelle ist auf den folgenden Plattformen verfügbar, wenn die verteilbaren Windows Media Format 11 SDK-Komponenten installiert sind:

  • Windows XP mit Service Pack 2 (SP2) und höher.
  • Windows XP Media Center Edition 2005 mit KB900325 (Windows XP Media Center Edition 2005) und KB925766 (Updaterollup für Windows XP Media Center Edition) vom Oktober 2006) installiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfobjects.h (include Mfidl.h)
Bibliothek Mfuuid.lib

Weitere Informationen

IMFAttributes::Compare

IMFMediaType