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 |