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

Compara dois tipos de mídia e determina se eles são idênticos. Se eles não forem idênticos, o método indicará como os dois formatos diferem.

Sintaxe

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

Parâmetros

[in] pIMediaType

Ponteiro para a interface IMFMediaType do tipo de mídia a ser comparado.

[out] pdwFlags

Recebe um OR bit a bit de zero ou mais sinalizadores, indicando o grau de similaridade entre os dois tipos de mídia. Os sinalizadores a seguir são definidos.

Valor Significado
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001
Os tipos principais são os mesmos. O tipo principal é especificado pelo atributo MF_MT_MAJOR_TYPE .
MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002
Os subtipos são os mesmos ou nenhum tipo de mídia tem um subtipo. O subtipo é especificado pelo atributo MF_MT_SUBTYPE .
MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004
Os atributos em um dos tipos de mídia são um subconjunto dos atributos no outro e os valores desses atributos correspondem, excluindo o valor dos atributos MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN e MF_MT_FRAME_RATE_RANGE_MAX .

Especificamente, o método usa o tipo de mídia com o menor número de atributos e verifica se cada atributo desse tipo está presente no outro tipo de mídia e tem o mesmo valor (sem incluir MF_MT_USER_DATA, MF_MT_FRAME_RATE_RANGE_MIN e MF_MT_FRAME_RATE_RANGE_MAX).

Para executar outras comparações, use o método IMFAttributes::Compare . Por exemplo, o método Compare pode testar atributos idênticos ou testar a interseção dos dois conjuntos de atributos. Para obter mais informações, consulte MF_ATTRIBUTES_MATCH_TYPE.

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008
Os dados do usuário são idênticos ou nenhum tipo de mídia contém dados do usuário. Os dados do usuário são especificados pelo atributo MF_MT_USER_DATA .

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_FALSE
Os tipos não são iguais. Examine o parâmetro pdwFlags para determinar como os tipos diferem.
S_OK
Os tipos são iguais.
E_INVALIDARG
Um ou ambos os tipos de mídia são inválidos.

Comentários

Ambos os tipos de mídia devem ter um tipo principal ou o método retorna E_INVALIDARG.

Se o método for bem-sucedido e todos os sinalizadores de comparação forem definidos em pdwFlags, o valor retornado será S_OK. Se o método for bem-sucedido, mas um ou mais sinalizadores de comparação não estiverem definidos, o método retornará S_FALSE.

Essa interface estará disponível nas seguintes plataformas se os componentes redistribuíveis do SDK do Windows Media Format 11 estiverem instalados:

  • Windows XP com Service Pack 2 (SP2) e posterior.
  • Windows XP Media Center Edition 2005 com KB900325 (Windows XP Media Center Edition 2005) e KB925766 (pacote cumulativo de atualizações de outubro de 2006 para Windows XP Media Center Edition) instalados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfobjects.h (include Mfidl.h)
Biblioteca Mfuuid.lib

Confira também

IMFAttributes::Compare

IMFMediaType