Compartir a través de


Método IMoniker::Hash (objidl.h)

Crea un valor hash mediante el estado interno del moniker.

Sintaxis

HRESULT Hash(
  [out] DWORD *pdwHash
);

Parámetros

[out] pdwHash

Puntero a una variable que recibe el valor hash.

Valor devuelto

Este método devuelve S_OK para indicar que el valor hash se recuperó correctamente.

Comentarios

Notas a los autores de llamadas

Puede usar el valor devuelto por este método para mantener una tabla hash de monikers. El valor hash determina un cubo hash en la tabla. Para buscar este tipo de tabla para un moniker especificado, calcule su valor hash y, a continuación, compárelo con los monikers de ese cubo hash mediante IMoniker::IsEqual.

Notas para los implementadores

El valor hash debe ser constante durante la vigencia del moniker. Dos monikers que se comparan como iguales mediante IMoniker::IsEqual deben aplicar un hash al mismo valor.

La serialización y, a continuación, desmarque un moniker no debería tener ningún efecto en su valor hash. Por lo tanto, la implementación de IMoniker::Hash solo debe basarse en el estado interno del moniker, no en su dirección de memoria.

Notas específicas de la implementación

Implementación Notas
Anti-moniker Este método calcula un valor hash para el moniker.
Moniker de clase Este método calcula un valor hash para el moniker y devuelve S_OK. Puede devolver E_INVALIDARG si pdwHash es un puntero no válido.
Moniker de archivo Este método calcula un valor hash para el moniker.
Moniker compuesto genérico Este método calcula un valor hash para el moniker.
Moniker de elemento Este método calcula un valor hash para el moniker.
OBJREF moniker Este método calcula un valor hash para el moniker.
Moniker de puntero Este método calcula un valor hash para el moniker.
Moniker de dirección URL Crea un valor hash basado en la cadena de dirección URL del moniker. Este valor hash es idéntico cuando las cadenas de dirección URL son idénticas, aunque también puede ser idéntica para diferentes cadenas de dirección URL. Este método se usa para acelerar las comparaciones al reducir la cantidad de tiempo que es necesario llamar a IMoniker::IsEqual.

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

Consulte también

Imoniker