CryptDestroyHash 関数 (wincrypt.h)
大事な この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
セキュリティを確保するために、ハッシュ オブジェクトを使用した後に破棄することをお勧めします。
構文
BOOL CryptDestroyHash(
[in] HCRYPTHASH hHash
);
パラメーター
[in] hHash
破棄されるハッシュ オブジェクトのハンドル。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 拡張エラー情報については、 GetLastError を呼び出します。
"NTE" の前に表示されるエラー コードは、使用している特定の 暗号化サービス プロバイダー (CSP) によって生成されます。 考えられるエラー コードの一部を次に示します。
リターン コード | 説明 |
---|---|
|
hHash で指定されたハッシュ オブジェクトは現在使用されており、破棄できません。 |
|
hHash パラメーターは、無効なハンドルを指定します。 |
|
hHash パラメーターに無効な値が含まれています。 |
|
hHash ハンドルは、この CSP でサポートされていないアルゴリズムを指定します。 |
|
hHash パラメーターで指定されたハッシュ オブジェクトが無効です。 |
|
ハッシュ オブジェクトの作成時に指定された CSP コンテキストが見つかりません。 |
解説
ハッシュ オブジェクトが破棄されると、多くの CSP によって、ハッシュ オブジェクトが保持されていた CSP 内のメモリが上書きされます。 その後、CSP メモリが解放されます。
CryptCreateHash と CryptDestroyHash の呼び出しの間には、1 対 1 の対応が必要です。
特定の CSP を使用して作成されたすべてのハッシュ オブジェクトは、その CSP ハンドルが CryptReleaseContext 関数で解放される前に破棄する必要があります。
例
CryptDestroyHash 関数を使用する例については、「C プログラムの例: セッション キーの作成とハッシュ」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |