Partager via


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

Crée une valeur de hachage à l’aide de l’état interne du moniker.

Syntaxe

HRESULT Hash(
  [out] DWORD *pdwHash
);

Paramètres

[out] pdwHash

Pointeur vers une variable qui reçoit la valeur de hachage.

Valeur retournée

Cette méthode retourne S_OK pour indiquer que la valeur de hachage a été récupérée avec succès.

Remarques

Remarques aux appelants

Vous pouvez utiliser la valeur retournée par cette méthode pour gérer une table de hachage de monikers. La valeur de hachage détermine un compartiment de hachage dans la table. Pour rechercher un moniker spécifié dans une table de ce type, calculez sa valeur de hachage, puis comparez-la aux monikers de ce compartiment de hachage à l’aide de IMoniker ::IsEqual.

Remarques aux implémenteurs

La valeur de hachage doit être constante pendant la durée de vie du moniker. Deux monikers qui se comparent comme égaux à l’aide de IMoniker ::IsEqual doivent être hachés à la même valeur.

Le marshaling, puis le démarshalation d’un moniker ne doivent avoir aucun effet sur sa valeur de hachage. Par conséquent, votre implémentation de IMoniker ::Hash ne doit s’appuyer que sur l’état interne du moniker, et non sur son adresse mémoire.

Notes spécifiques à l’implémentation

Implémentation Notes
Anti-moniker Cette méthode calcule une valeur de hachage pour le moniker.
Moniker de classe Cette méthode calcule une valeur de hachage pour le moniker et retourne S_OK. Peut retourner E_INVALIDARG si pdwHash est un pointeur non valide.
Moniker de fichier Cette méthode calcule une valeur de hachage pour le moniker.
Moniker composite générique Cette méthode calcule une valeur de hachage pour le moniker.
Moniker d’élément Cette méthode calcule une valeur de hachage pour le moniker.
MONIKER OBJREF Cette méthode calcule une valeur de hachage pour le moniker.
Moniker de pointeur Cette méthode calcule une valeur de hachage pour le moniker.
Moniker d’URL Crée une valeur de hachage basée sur la chaîne d’URL du moniker. Cette valeur de hachage est identique lorsque les chaînes d’URL sont identiques, bien qu’elle puisse également l’être pour différentes chaînes d’URL. Cette méthode est utilisée pour accélérer les comparaisons en réduisant la durée nécessaire à l’appel de IMoniker ::IsEqual.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête objidl.h

Voir aussi

IMoniker