Compartilhar via


Método IMoniker::IsEqual (objidl.h)

Determina se esse moniker é idêntico ao moniker especificado.

Sintaxe

HRESULT IsEqual(
  [in] IMoniker *pmkOtherMoniker
);

Parâmetros

[in] pmkOtherMoniker

Um ponteiro para a interface IMoniker no moniker a ser usado para comparação com este (aquele do qual esse método é chamado).

Retornar valor

Esse método retorna S_OK para indicar que os dois monikers são idênticos e S_FALSE caso contrário.

Comentários

Implementações anteriores da ROT (tabela de objetos em execução) chamavam esse método. Em vez disso, a implementação atual do ROT usa a interface IROTData .

Anotações aos Chamadores

Chame esse método para determinar se dois monikers são idênticos. A forma reduzida de um moniker é considerada diferente da forma não induzida. Você deve chamar o método IMoniker::Reduce antes de chamar IsEqual, pois um moniker reduzido está em sua forma mais específica. IsEqual pode retornar S_FALSE em dois monikers antes de serem reduzidos e S_OK após serem reduzidos.

Observações aos implementadores

Sua implementação não deve reduzir o moniker atual antes de executar a comparação. É responsabilidade do chamador chamar IMoniker::Reduce para comparar monikers reduzidos.

Dois monikers que se comparam como iguais devem ter o mesmo valor usando IMoniker::Hash.

Notas específicas da implementação

Implementação Observações
Anti-moniker Esse método retornará S_OK se ambos forem anti-monikers; caso contrário, ele retornará S_FALSE.
Moniker de classe Esse método retornará S_OK se pmkOther for um moniker de classe construído com as mesmas informações de CLSID que ele mesmo. Caso contrário, o método retornará S_FALSE. Pode retornar E_INVALIDARG se pmkOther for um ponteiro inválido.
Moniker de arquivo Esse método retornará S_OK se *pmkOther for um moniker de arquivo e os caminhos para ambos os monikers forem idênticos (usando uma comparação que não diferencia maiúsculas de minúsculas). Caso contrário, o método retornará S_FALSE.
Moniker composto genérico Esse método retornará S_OK se os componentes de ambos os monikers forem iguais quando comparados na ordem da esquerda para a direita.
Moniker de item Esse método retornará S_OK se ambos os monikers forem monikers de item e seus nomes de exibição forem idênticos (usando uma comparação que não diferencia maiúsculas de minúsculas); caso contrário, o método retornará S_FALSE.
Moniker OBJREF Esse método retornará S_OK se *pmkOther for um moniker OBJREF e os caminhos para ambos os monikers forem idênticos (usando uma comparação que não diferencia maiúsculas de minúsculas). Caso contrário, o método retornará S_FALSE.
Moniker de ponteiro Esse método retornará S_OK somente se ambos forem monikers de ponteiro e os ponteiros de interface que eles encapsularem forem idênticos.
Moniker de URL Retorna S_FALSE se o outro moniker (pmkOtherMoniker) não for um moniker de URL, que ele verifica usando IPersist::GetClassID para ver se o CLSID está CLSID_URLMoniker. Se o outro moniker for um moniker de URL, ele comparará os nomes de exibição dos monikers quanto à igualdade, retornando S_OK se forem idênticos ou S_FALSE caso contrário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

Imoniker

Irotdata