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 |