Metodo IMFMediaType::IsEqual (mfobjects.h)

Confronta due tipi di supporti e determina se sono identici. Se non sono identici, il metodo indica come i due formati differiscono.

Sintassi

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

Parametri

[in] pIMediaType

Puntatore all'interfaccia IMFMediaType del tipo di supporto da confrontare.

[out] pdwFlags

Riceve un or bit per bit di zero o più flag, che indica il grado di somiglianza tra i due tipi di supporti. I flag seguenti sono definiti.

Valore Significato
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001
I tipi principali sono gli stessi. Il tipo principale viene specificato dall'attributo MF_MT_MAJOR_TYPE .
MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002
I sottotipi sono uguali o nessun tipo di supporto ha un sottotipo. Il sottotipo viene specificato dall'attributo MF_MT_SUBTYPE .
MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004
Gli attributi in uno dei tipi di supporti sono un subset degli attributi nell'altro e i valori di questi attributi corrispondono, escludendo il valore dell'MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN e gli attributi MF_MT_FRAME_RATE_RANGE_MAX.

In particolare, il metodo accetta il tipo di supporto con il numero minore di attributi e verifica se ogni attributo di tale tipo è presente nell'altro tipo di supporto e ha lo stesso valore (non incluso MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN e MF_MT_FRAME_RATE_RANGE_MAX).

Per eseguire altri confronti, usare il metodo FMAttributes::Compare . Ad esempio, il metodo Compare può testare gli attributi identici o testare l'intersezione dei due set di attributi. Per altre informazioni, vedere MF_ATTRIBUTES_MATCH_TYPE.

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008
I dati utente sono identici o nessun tipo di supporto contiene dati utente. I dati utente vengono specificati dall'attributo MF_MT_USER_DATA .

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_FALSE
I tipi non sono uguali. Esaminare il parametro pdwFlags per determinare il modo in cui i tipi differiscono.
S_OK
I tipi sono uguali.
E_INVALIDARG
Uno o entrambi i tipi di supporti non sono validi.

Commenti

Entrambi i tipi di supporti devono avere un tipo principale oppure il metodo restituisce E_INVALIDARG.

Se il metodo ha esito positivo e tutti i flag di confronto vengono impostati in pdwFlags, il valore restituito è S_OK. Se il metodo ha esito positivo ma uno o più flag di confronto non sono impostati, il metodo restituisce S_FALSE.

Questa interfaccia è disponibile nelle piattaforme seguenti se i componenti ridistribuibili di Windows Media Format 11 SDK sono installati:

  • Windows XP con Service Pack 2 (SP2) e versioni successive.
  • Windows XP Media Center Edition 2005 con KB900325 (Windows XP Media Center Edition 2005) e KB925766 (aggiornamento cumulativo di ottobre 2006 per Windows XP Media Center Edition) installato.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfobjects.h (include Mfidl.h)
Libreria Mfuuid.lib

Vedi anche

FMAttributes::Compare

IMFMediaType