IMoniker::Hash 方法 (objidl.h)

使用名字对象的内部状态创建哈希值。

语法

HRESULT Hash(
  [out] DWORD *pdwHash
);

参数

[out] pdwHash

指向接收哈希值的变量的指针。

返回值

此方法返回指示已成功检索哈希值的S_OK。

注解

给调用方的说明

可以使用此方法返回的值来维护名字对象的哈希表。 哈希值确定表中的哈希桶。 若要在此类表中搜索指定的名字对象,请计算其哈希值,然后使用 IMoniker::IsEqual 将其与该哈希桶中的名字对象进行比较。

实施者说明

在名字对象的生存期内,哈希值必须是常量。 使用 IMoniker::IsEqual 比较为相等的两个名字对象必须哈希为同一值。

封送然后取消封送名字对象应该不会影响其哈希值。 因此, IMoniker::Hash 的实现应仅依赖于名字对象的内部状态,而不应依赖于其内存地址。

特定于实现的注释

实现 备注
反名字对象 此方法计算名字对象的哈希值。
类名字对象 此方法计算名字对象的哈希值,并返回S_OK。 如果 pdwHash 是无效指针,则可能会返回E_INVALIDARG。
文件名字对象 此方法计算名字对象的哈希值。
泛型复合名字对象 此方法计算名字对象的哈希值。
项名字对象 此方法计算名字对象的哈希值。
OBJREF 名字对象 此方法计算名字对象的哈希值。
指针名字对象 此方法计算名字对象的哈希值。
URL 名字对象 基于名字对象的 URL 字符串创建哈希值。 当 URL 字符串相同时,此哈希值是相同的,尽管对于不同的 URL 字符串,它也可能相同。 此方法用于通过减少调用 IMoniker::IsEqual 所需的时间来加速比较。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objidl.h

另请参阅

IMoniker