Функция CryptReleaseContext (wincrypt.h)

Важно Этот API не рекомендуется использовать. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках.
 
Функция CryptReleaseContext освобождает дескриптор поставщика служб шифрования (CSP) и контейнера ключей. При каждом вызове этой функции количество ссылок для CSP уменьшается на один. Когда число ссылок достигает нуля, контекст полностью освобождается и больше не может использоваться ни одной функцией в приложении.

Приложение вызывает эту функцию после завершения использования CSP. После вызова этой функции освобожденный дескриптор CSP становится недействительным. Эта функция не уничтожает контейнеры ключей или пары ключей.

Синтаксис

BOOL CryptReleaseContext(
  [in] HCRYPTPROV hProv,
  [in] DWORD      dwFlags
);

Параметры

[in] hProv

Дескриптор поставщика служб шифрования (CSP), созданного при вызове CryptAcquireContext.

[in] dwFlags

Зарезервировано для будущего использования и должно быть равно нулю. Если параметр dwFlags не равен нулю, эта функция возвращает значение FALSE , но CSP освобождается.

Возвращаемое значение

Если функция выполнена успешно, возвращается ненулевое значение (TRUE).

Если функция завершается сбоем, возвращаемое значение равно нулю (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Некоторые возможные коды ошибок перечислены в следующей таблице.

Код возврата Описание
ERROR_BUSY
Контекст CSP, заданный hProv, в настоящее время используется другим процессом.
ERROR_INVALID_HANDLE
Один из параметров указывает недопустимый дескриптор.
ERROR_INVALID_PARAMETER
Один из параметров содержит недопустимое значение. Чаще всего это недопустимый указатель.
NTE_BAD_FLAGS
Параметр dwFlags не является нулевым.
NTE_BAD_UID
Параметр hProv не содержит допустимый дескриптор контекста.

Комментарии

После вызова этой функции сеанс CSP завершается, и все существующие ключи сеанса и хэш-объекты , созданные с помощью дескриптора hProv , становятся недействительными. На практике перед вызовом CryptReleaseContext все эти объекты должны быть уничтожены с помощью вызовов CryptDeographyKey и CryptDetext.

Примеры

Пример использования этой функции см. в разделе Пример программы C: создание и хэширование ключа сеанса.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincrypt.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

CryptAcquireContext

CryptDeographyHash

CryptDecryptKey

Функции поставщика услуг