CryptReleaseContext 関数 (wincrypt.h)
大事な この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
アプリケーションは、CSP の使用が完了した後にこの関数を呼び出します。 この関数が呼び出されると、解放された CSP ハンドルは無効になります。 この関数は、 キー コンテナー または キー ペアを破棄しません。
構文
BOOL CryptReleaseContext(
[in] HCRYPTPROV hProv,
[in] DWORD dwFlags
);
パラメーター
[in] hProv
CryptAcquireContext の呼び出しによって作成された暗号化サービス プロバイダー (CSP) のハンドル。
[in] dwFlags
将来使用するために予約されており、0 である必要があります。 dwFlags が 0 に設定されていない場合、この関数は FALSE を返しますが、CSP は解放されます。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー コードの一部を次の表に示します。
リターン コード | 説明 |
---|---|
|
hProv によって指定された CSP コンテキストは、現在、別のプロセスで使用されています。 |
|
パラメーターの 1 つは、無効なハンドルを指定します。 |
|
パラメーターの 1 つに無効な値が含まれています。 これは、ほとんどの場合、無効なポインターです。 |
|
dwFlags パラメーターは 0 以外です。 |
|
hProv パラメーターに有効なコンテキスト ハンドルが含まれていません。 |
解説
この関数が呼び出されると、CSP セッションが終了し、hProv ハンドルを使用して作成されたすべての既存のセッション キーとハッシュ オブジェクトは無効になります。 実際には、これらのオブジェクトはすべて、CryptReleaseContext が呼び出される前に、CryptDestroyKey と CryptDestroyHash の呼び出しで破棄する必要があります。
例
この関数を使用する例については、「 サンプル C プログラム: セッション キーの作成とハッシュ」を参照してください。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |