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

Determina si este moniker es idéntico al moniker especificado.

Sintaxis

HRESULT IsEqual(
  [in] IMoniker *pmkOtherMoniker
);

Parámetros

[in] pmkOtherMoniker

Puntero a la interfaz IMoniker en el moniker que se va a usar para compararlo con este (el del que se llama a este método).

Valor devuelto

Este método devuelve S_OK para indicar que los dos monikers son idénticos y, de lo contrario, S_FALSE.

Comentarios

Las implementaciones anteriores de la tabla de objetos en ejecución (ROT) llamaron a este método. En su lugar, la implementación actual de ROT usa la interfaz IROTData .

Notas a los autores de llamadas

Llame a este método para determinar si dos monikers son idénticos. La forma reducida de un moniker se considera diferente de la forma noducida. Debe llamar al método IMoniker::Reduce antes de llamar a IsEqual, ya que un moniker reducido está en su forma más específica. IsEqual puede devolver S_FALSE en dos monikers antes de que se reduzcan y S_OK después de que se reduzcan.

Notas para los implementadores

La implementación no debe reducir el moniker actual antes de realizar la comparación. Es responsabilidad del autor de la llamada llamar a IMoniker::Reduce para comparar monikers reducidos.

Dos monikers que se comparan como iguales deben aplicar un hash al mismo valor mediante IMoniker::Hash.

Notas específicas de la implementación

Implementación Notas
Anti-moniker Este método devuelve S_OK si ambos son anti-monikers; de lo contrario, devuelve S_FALSE.
Moniker de clase Este método devuelve S_OK si pmkOther es un moniker de clase construido con la misma información de CLSID que sí mismo. De lo contrario, el método devuelve S_FALSE. Puede devolver E_INVALIDARG si pmkOther es un puntero no válido.
Moniker de archivo Este método devuelve S_OK si *pmkOther es un moniker de archivo y las rutas de acceso de ambos monikers son idénticas (mediante una comparación sin distinción entre mayúsculas y minúsculas). De lo contrario, el método devuelve S_FALSE.
Moniker compuesto genérico Este método devuelve S_OK si los componentes de ambos monikers son iguales cuando se comparan en el orden de izquierda a derecha.
Moniker de elemento Este método devuelve S_OK si ambos monikers son monikers de elementos y sus nombres para mostrar son idénticos (mediante una comparación sin distinción entre mayúsculas y minúsculas); de lo contrario, el método devuelve S_FALSE.
Moniker de OBJREF Este método devuelve S_OK si *pmkOther es un moniker OBJREF y las rutas de acceso de ambos monikers son idénticas (mediante una comparación sin distinción entre mayúsculas y minúsculas). De lo contrario, el método devuelve S_FALSE.
Moniker de puntero Este método devuelve S_OK solo si ambos son monikers de puntero y los punteros de interfaz que encapsulan son idénticos.
Moniker de dirección URL Devuelve S_FALSE si el otro moniker (pmkOtherMoniker) no es un moniker de dirección URL, que comprueba mediante IPersist::GetClassID para ver si clSID es CLSID_URLMoniker. Si el otro moniker es un moniker de dirección URL, compara los nombres para mostrar de los monikers por igualdad y devuelve S_OK si son idénticos o S_FALSE de lo contrario.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

Imoniker

IROTData