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 |