Метод IMoniker::Hash (objidl.h)
Создает хэш-значение, используя внутреннее состояние моникера.
Синтаксис
HRESULT Hash(
[out] DWORD *pdwHash
);
Параметры
[out] pdwHash
Указатель на переменную, получающую хэш-значение.
Возвращаемое значение
Этот метод возвращает S_OK, чтобы указать, что хэш-значение было успешно извлечено.
Комментарии
Примечания к вызывающим абонентам
Значение, возвращаемое этим методом, можно использовать для поддержки хэш-таблицы моникеров. Хэш-значение определяет хэш-контейнер в таблице. Чтобы найти в такой таблице указанный моникер, вычислите его хэш-значение, а затем сравните его с моникерами в этом хэш-контейнере с помощью IMoniker::IsEqual.Примечания для разработчиков
Значение хэша должно быть постоянным в течение всего времени существования моникера. Два моникера, которые сравниваются как равные с помощью IMoniker::IsEqual , должны хэшировать до одного и того же значения.Маршалинг и последующее размежевание моникера не должны влиять на его хэш-значение. Следовательно, реализация IMoniker::Hash должна полагаться только на внутреннее состояние моникера, а не на его адрес памяти.
Примечания, относящиеся к реализации
Реализация | Примечания |
---|---|
Антимникер | Этот метод вычисляет хэш-значение для моникера. |
Моникер класса | Этот метод вычисляет хэш-значение для моникера и возвращает S_OK. Может возвращать E_INVALIDARG, если pdwHash является недопустимым указателем. |
Моникер файла | Этот метод вычисляет хэш-значение для моникера. |
Универсальный составной моникер | Этот метод вычисляет хэш-значение для моникера. |
Моникер элемента | Этот метод вычисляет хэш-значение для моникера. |
Моникер OBJREF | Этот метод вычисляет хэш-значение для моникера. |
Моникер указателя | Этот метод вычисляет хэш-значение для моникера. |
Моникер URL-адреса | Создает хэш-значение на основе строки URL-адреса моникера. Это хэш-значение идентично, если строки URL-адреса идентичны, хотя оно также может быть одинаковым для разных строк URL-адресов. Этот метод используется для ускорения сравнения за счет сокращения времени, необходимого для вызова IMoniker::IsEqual. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |