IMoniker::Hash メソッド (objidl.h)
モニカーの内部状態を使用してハッシュ値を作成します。
構文
HRESULT Hash(
[out] DWORD *pdwHash
);
パラメーター
[out] pdwHash
ハッシュ値を受け取る変数へのポインター。
戻り値
このメソッドは、ハッシュ値が正常に取得されたことを示すS_OKを返します。
注釈
呼び出し元へのメモ
このメソッドによって返される値を使用して、モニカーのハッシュ テーブルを維持できます。 ハッシュ値は、テーブル内のハッシュ バケットを決定します。 このようなテーブルで指定されたモニカーを検索するには、そのハッシュ値を計算し、 IMoniker::IsEqual を使用してそのハッシュ バケット内のモニカーと比較します。実装者へのメモ
モニカーの有効期間は、ハッシュ値を定数にする必要があります。 IMoniker::IsEqual を使用して等しいと比較する 2 つのモニカーは、同じ値にハッシュする必要があります。モニカーをマーシャリングしてからマーシャリングを解除しても、そのハッシュ値には影響しません。 したがって、 IMoniker::Hash の実装は、そのメモリ アドレスではなく、モニカーの内部状態にのみ依存する必要があります。
実装固有の注意事項
実装 | メモ |
---|---|
アンチモニカー | このメソッドはモニカーのハッシュ値を計算します。 |
クラス モニカー | このメソッドはモニカーのハッシュ値を計算し、S_OKを返します。 pdwHash が無効なポインターである場合、E_INVALIDARGを返す場合があります。 |
ファイル モニカー | このメソッドはモニカーのハッシュ値を計算します。 |
汎用複合モニカー | このメソッドはモニカーのハッシュ値を計算します。 |
アイテム モニカー | このメソッドはモニカーのハッシュ値を計算します。 |
OBJREF モニカー | このメソッドはモニカーのハッシュ値を計算します。 |
ポインター モニカー | このメソッドはモニカーのハッシュ値を計算します。 |
URL モニカー | モニカーの URL 文字列に基づいてハッシュ値を作成します。 URL 文字列が同一の場合、このハッシュ値は同じですが、異なる URL 文字列でも同一である可能性があります。 このメソッドは、 IMoniker::IsEqual を呼び出すために必要な時間を短縮することで比較を高速化するために使用されます。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h |