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 |