CryptGetHashParam 関数 (wincrypt.h)
構文
BOOL CryptGetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[out] BYTE *pbData,
[in, out] DWORD *pdwDataLen,
[in] DWORD dwFlags
);
パラメーター
[in] hHash
クエリを実行するハッシュ オブジェクトのハンドル。
[in] dwParam
クエリの種類。 このパラメーターは、次のいずれかのクエリに設定できます。
値 | 説明 |
---|---|
|
ハッシュ オブジェクトの作成時に指定されたアルゴリズムを示す ALG_ID 。 ハッシュ アルゴリズムの一覧については、「 CryptCreateHash」を参照してください。 |
|
ハッシュ値のバイト数を示す DWORD 値。 この値は、ハッシュ アルゴリズムによって異なります。 適切な量のメモリを割り当てることができるように、アプリケーションはHP_HASHVAL値の直前にこの値を取得する必要があります。 |
|
hHash で指定されたハッシュ オブジェクトのハッシュ値またはメッセージ ハッシュ。 この値は、CryptHashData 関数と CryptHashSessionKey 関数を介して前にハッシュ オブジェクトに提供されたデータに基づいて生成されます。
CryptGetHashParam 関数はハッシュを完了します。 CryptGetHashParam が呼び出されると、ハッシュにデータを追加できなくなります。 CryptHashData または CryptHashSessionKey への追加の呼び出しは失敗します。 アプリケーションがハッシュで完了したら、ハッシュ オブジェクトを破棄するために CryptDestroyHash を呼び出す必要があります。 |
[out] pbData
指定した値データを受け取るバッファーへのポインター。 このデータの形式は、値番号によって異なります。
このパラメーターには NULL を 指定して、必要なメモリ サイズを決定できます。
[in, out] pdwDataLen
pbData バッファーのサイズ (バイト単位) を指定する DWORD 値へのポインター。 関数が戻るときに、 DWORD 値にはバッファーに格納されているバイト数が含まれます。
pbData が NULL の場合は、pdwDataLen の値を 0 に設定します。
[in] dwFlags
将来使用するために予約されており、0 である必要があります。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報については、 GetLastError を呼び出します。
"NTE" の前に表示されるエラー コードは、使用している特定の CSP によって生成されます。 考えられるエラー コードの一部を次に示します。
リターン コード | 説明 |
---|---|
|
パラメーターの 1 つは、無効なハンドルを指定します。 |
|
パラメーターの 1 つに無効な値が含まれています。 これはほとんどの場合、無効なポインターです。 |
|
pbData パラメーターで指定されたバッファーが、返されたデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATA コードを設定し、必要なバッファー サイズをバイト単位で pdwDataLen が指す変数に格納します。 |
|
dwFlags パラメーターは 0 以外です。 |
|
hHash パラメーターで指定されたハッシュ オブジェクトが無効です。 |
|
dwParam パラメーターは、不明な値番号を指定します。 |
|
ハッシュの作成時に指定された CSP コンテキストが見つかりません。 |
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |