Share via


IMoniker::Hash-Methode (objidl.h)

Erstellt einen Hashwert unter Verwendung des internen Zustands des Monikers.

Syntax

HRESULT Hash(
  [out] DWORD *pdwHash
);

Parameter

[out] pdwHash

Ein Zeiger auf eine Variable, die den Hashwert empfängt.

Rückgabewert

Diese Methode gibt S_OK zurück, um anzugeben, dass der Hashwert erfolgreich abgerufen wurde.

Hinweise

Hinweise für Anrufer

Sie können den von dieser Methode zurückgegebenen Wert verwenden, um eine Hashtabelle mit Monikern zu verwalten. Der Hashwert bestimmt einen Hashbucket in der Tabelle. Um eine solche Tabelle nach einem angegebenen Moniker zu durchsuchen, berechnen Sie den Hashwert, und vergleichen Sie ihn dann mithilfe von IMoniker::IsEqual mit den Monikern in diesem Hashbucket.

Hinweise für Implementierer

Der Hashwert muss für die Lebensdauer des Monikers konstant sein. Zwei Moniker, die mit IMoniker::IsEqual als gleich vergleichen, müssen auf denselben Wert hashen.

Das Marshallen und anschließende Aufheben der Entmarsung eines Monikers sollte keine Auswirkungen auf den Hashwert haben. Daher sollte ihre Implementierung von IMoniker::Hash nur auf dem internen Zustand des Monikers basieren, nicht auf seiner Speicheradresse.

Implementierungsspezifische Hinweise

Implementierung Hinweise
Anti-Moniker Diese Methode berechnet einen Hashwert für den Moniker.
Moniker der Klasse Diese Methode berechnet einen Hashwert für den Moniker und gibt S_OK zurück. Kann E_INVALIDARG zurückgeben, wenn pdwHash ein ungültiger Zeiger ist.
Dateimoniker Diese Methode berechnet einen Hashwert für den Moniker.
Generischer zusammengesetzter Moniker Diese Methode berechnet einen Hashwert für den Moniker.
Elementmoniker Diese Methode berechnet einen Hashwert für den Moniker.
OBJREF-Moniker Diese Methode berechnet einen Hashwert für den Moniker.
Zeigermoniker Diese Methode berechnet einen Hashwert für den Moniker.
URL-Moniker Erstellt einen Hashwert basierend auf der URL-Zeichenfolge des Monikers. Dieser Hashwert ist identisch, wenn URL-Zeichenfolgen identisch sind, obwohl er auch für verschiedene URL-Zeichenfolgen identisch sein kann. Diese Methode wird verwendet, um Vergleiche zu beschleunigen, indem die Zeit reduziert wird, die zum Aufrufen von IMoniker::IsEqual erforderlich ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objidl.h

Weitere Informationen

Imoniker