Поделиться через


Функция NCryptIsAlgSupported (ncrypt.h)

Функция NCryptIsAlgSupported определяет, поддерживает ли поставщик хранилища ключей CNG определенный алгоритм шифрования.

Синтаксис

SECURITY_STATUS NCryptIsAlgSupported(
  [in] NCRYPT_PROV_HANDLE hProvider,
  [in] LPCWSTR            pszAlgId,
  [in] DWORD              dwFlags
);

Параметры

[in] hProvider

Дескриптор поставщика хранилища ключей. Этот дескриптор получается с помощью функции NCryptOpenStorageProvider .

[in] pszAlgId

Указатель на строку Юникода, завершающуюся значением NULL, которая идентифицирует рассматриваемый криптографический алгоритм. Это может быть один из стандартных идентификаторов алгоритма CNG или идентификатор для другого зарегистрированного алгоритма.

[in] dwFlags

Флаги, изменяющие поведение функции. Это может быть ноль (0) или следующее значение.

Значение Значение
NCRYPT_SILENT_FLAG
Запрашивает, чтобы поставщик служб ключей (KSP) не отображал пользовательский интерфейс. Если поставщик должен отображать пользовательский интерфейс для работы, вызов завершается сбоем, а KSP должен задать код ошибки NTE_SILENT_CONTEXT как последнюю ошибку.

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

Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.

Возможные коды возврата включают, помимо прочего, следующие.

Код возврата Описание
ERROR_SUCCESS
Поставщик поддерживает указанный алгоритм.
NTE_BAD_FLAGS
Параметр dwFlags содержит один или несколько флагов, которые не поддерживаются.
NTE_INVALID_HANDLE
Дескриптор, указанный параметром hProvider , недопустим.
NTE_INVALID_PARAMETER
Один или несколько параметров недопустимы.
NTE_NOT_SUPPORTED
Поставщик не поддерживает указанный алгоритм.

Комментарии

Если поставщик поддерживает алгоритм, эта функция возвращает ERROR_SUCCESS. Если поставщик не поддерживает алгоритм и не произошло других ошибок, эта функция возвращает NTE_NOT_SUPPORTED.

Служба не должна вызывать эту функцию из функции StartService. Если служба вызывает эту функцию из функции StartService, может возникнуть взаимоблокировка, и служба может перестать отвечать.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header ncrypt.h
Библиотека Ncrypt.lib
DLL Ncrypt.dll