Méthode IMFMediaType ::IsEqual (mfobjects.h)

Compare deux types de médias et détermine s’ils sont identiques. S’ils ne sont pas identiques, la méthode indique comment les deux formats diffèrent.

Syntaxe

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

Paramètres

[in] pIMediaType

Pointeur vers l’interface IMFMediaType du type de média à comparer.

[out] pdwFlags

Reçoit un OR au niveau du bit de zéro ou plusieurs indicateurs, indiquant le degré de similarité entre les deux types de médias. Les indicateurs suivants sont définis.

Valeur Signification
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001
Les principaux types sont les mêmes. Le type principal est spécifié par l’attribut MF_MT_MAJOR_TYPE .
MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002
Les sous-types sont identiques ou aucun type de média n’a de sous-type. Le sous-type est spécifié par l’attribut MF_MT_SUBTYPE .
MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004
Les attributs d’un des types multimédias sont un sous-ensemble des attributs de l’autre, et les valeurs de ces attributs correspondent, à l’exclusion de la valeur des attributs MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN et MF_MT_FRAME_RATE_RANGE_MAX .

Plus précisément, la méthode prend le type multimédia avec le plus petit nombre d’attributs et vérifie si chaque attribut de ce type est présent dans l’autre type de média et a la même valeur (sans MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN et MF_MT_FRAME_RATE_RANGE_MAX).

Pour effectuer d’autres comparaisons, utilisez la méthode IMFAttributes ::Compare . Par exemple, la méthode Compare peut tester des attributs identiques ou tester l’intersection des deux jeux d’attributs. Pour plus d’informations, consultez MF_ATTRIBUTES_MATCH_TYPE.

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008
Les données utilisateur sont identiques ou aucun type de média ne contient de données utilisateur. Les données utilisateur sont spécifiées par l’attribut MF_MT_USER_DATA .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_FALSE
Les types ne sont pas égaux. Examinez le paramètre pdwFlags pour déterminer comment les types diffèrent.
S_OK
Les types sont égaux.
E_INVALIDARG
L’un ou les deux types de médias ne sont pas valides.

Remarques

Les deux types de média doivent avoir un type principal, sinon la méthode retourne E_INVALIDARG.

Si la méthode réussit et que tous les indicateurs de comparaison sont définis dans pdwFlags, la valeur de retour est S_OK. Si la méthode réussit, mais qu’un ou plusieurs indicateurs de comparaison ne sont pas définis, la méthode retourne S_FALSE.

Cette interface est disponible sur les plateformes suivantes si les composants redistribuables du SDK Windows Media Format 11 sont installés :

  • Windows XP avec Service Pack 2 (SP2) et versions ultérieures.
  • Windows XP Media Center Edition 2005 avec KB900325 (Windows XP Media Center Edition 2005) et KB925766 (correctif cumulatif d’octobre 2006 pour Windows XP Édition Media Center) installés.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfobjects.h (inclure Mfidl.h)
Bibliothèque Mfuuid.lib

Voir aussi

IMFAttributes ::Compare

IMFMediaType