Метод IMoniker::IsEqual (objidl.h)
Определяет, идентичен ли этот моникер указанному моникеру.
Синтаксис
HRESULT IsEqual(
[in] IMoniker *pmkOtherMoniker
);
Параметры
[in] pmkOtherMoniker
Указатель на интерфейс IMoniker в монике , используемом для сравнения с этим (с тем, из которого вызывается этот метод).
Возвращаемое значение
Этот метод возвращает S_OK, чтобы указать, что два моникера идентичны, и S_FALSE в противном случае.
Комментарии
Предыдущие реализации таблицы выполняющихся объектов (ROT) называли этот метод. В текущей реализации ROT вместо этого используется интерфейс IROTData .
Примечания к вызывающим абонентам
Вызовите этот метод, чтобы определить, идентичны ли два моникера. Уменьшенная форма моникера считается отличной от неустраченной формы. Перед вызовом IsEqual следует вызвать метод IMoniker::Reduce, так как сокращенный моникер имеет самую специфичную форму. IsEqual может вернуть S_FALSE на два моникера, прежде чем они будут сокращены, и S_OK после их уменьшения.Примечания для разработчиков
Реализация не должна уменьшать текущий моникер перед выполнением сравнения. Вызывающий абонент отвечает за вызов IMoniker::Reduce для сравнения сокращенных моникеров.Два моникера, которые сравниваются как равные, должны иметь хэш-код с одинаковым значением с помощью IMoniker::Hash.
Примечания, относящиеся к реализации
Реализация | Примечания |
---|---|
Антимникер | Этот метод возвращает S_OK, если оба являются антимникерами; в противном случае возвращается S_FALSE. |
Моникер класса | Этот метод возвращает S_OK, если pmkOther является моникером класса, созданным с теми же данными CLSID, что и сам. В противном случае метод возвращает S_FALSE. Может возвращать E_INVALIDARG, если pmkOther является недопустимым указателем. |
Моникер файла | Этот метод возвращает S_OK, если *pmkOther является моникером файла и пути для обоих моникеров идентичны (при сравнении без учета регистра). В противном случае метод возвращает S_FALSE. |
Универсальный составной моникер | Этот метод возвращает S_OK, если компоненты обоих моникеров равны при сравнении слева направо. |
Моникер элемента | Этот метод возвращает S_OK, если оба моникера являются моникерами элементов и их отображаемые имена идентичны (при сравнении без учета регистра); В противном случае метод возвращает S_FALSE. |
Моникер OBJREF | Этот метод возвращает S_OK, если *pmkOther является моникером OBJREF и пути для обоих моникеров идентичны (при сравнении без учета регистра). В противном случае метод возвращает S_FALSE. |
Моникер указателя | Этот метод возвращает S_OK только в том случае, если оба являются моникерами указателей и указатели интерфейса, которые они упаковывают, идентичны. |
Моникер URL-адреса | Возвращает S_FALSE, если другой моникер (pmkOtherMoniker) не является моникером URL-адреса, который проверяется с помощью IPersist::GetClassID , чтобы узнать, является ли CLSID CLSID_URLMoniker. Если другой моникер является моникером URL-адреса, он сравнивает отображаемые имена моникеров на равенство, возвращая S_OK, если они идентичны, или S_FALSE в противном случае. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |