Condividi tramite


Metodo IMoniker::Hash (objidl.h)

Crea un valore hash usando lo stato interno del moniker.

Sintassi

HRESULT Hash(
  [out] DWORD *pdwHash
);

Parametri

[out] pdwHash

Puntatore a una variabile che riceve il valore hash.

Valore restituito

Questo metodo restituisce S_OK per indicare che il valore hash è stato recuperato correttamente.

Commenti

Note ai chiamanti

È possibile usare il valore restituito da questo metodo per mantenere una tabella hash di moniker. Il valore hash determina un bucket hash nella tabella. Per cercare un moniker specificato in una tabella di questo tipo, calcolarne il valore hash e quindi confrontarlo con i moniker nel bucket hash usando IMoniker::IsEqual.

Note per gli implementatori

Il valore hash deve essere costante per la durata del moniker. Due moniker che si confrontano come uguali usando IMoniker::IsEqual devono eseguire l'hashing con lo stesso valore.

Il marshalling e quindi l'annullamento delmarshaling di un moniker non devono avere alcun effetto sul relativo valore hash. Di conseguenza, l'implementazione di IMoniker::Hash deve basarsi solo sullo stato interno del moniker, non sul relativo indirizzo di memoria.

Note specifiche dell'implementazione

Implementazione Note
Anti-moniker Questo metodo calcola un valore hash per il moniker.
Moniker di classe Questo metodo calcola un valore hash per il moniker e restituisce S_OK. Può restituire E_INVALIDARG se pdwHash è un puntatore non valido.
Moniker file Questo metodo calcola un valore hash per il moniker.
Moniker composito generico Questo metodo calcola un valore hash per il moniker.
Moniker elemento Questo metodo calcola un valore hash per il moniker.
Moniker OBJREF Questo metodo calcola un valore hash per il moniker.
Moniker puntatore Questo metodo calcola un valore hash per il moniker.
Moniker URL Crea un valore hash basato sulla stringa URL del moniker. Questo valore hash è identico quando le stringhe URL sono identiche, anche se possono essere identiche anche per stringhe URL diverse. Questo metodo viene usato per velocizzare i confronti riducendo la quantità di tempo necessario per chiamare IMoniker::IsEqual.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

Imoniker