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


Функция BCryptEnumProviders (bcrypt.h)

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

Синтаксис

NTSTATUS BCryptEnumProviders(
  [in]  LPCWSTR              pszAlgId,
  [out] ULONG                *pImplCount,
  [out] BCRYPT_PROVIDER_NAME **ppImplList,
  [in]  ULONG                dwFlags
);

Параметры

[in] pszAlgId

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

[out] pImplCount

Указатель на переменную ULONG для получения количества элементов в массиве ppImplList .

[out] ppImplList

Адрес массива BCRYPT_PROVIDER_NAME структур для получения коллекции поставщиков, поддерживающих указанный алгоритм. Параметр pImplCount получает количество элементов в этом массиве. Эта память должна быть освобождена, если она больше не нужна, передав этот указатель на функцию BCryptFreeBuffer .

[in] dwFlags

Набор флагов, изменяющих поведение этой функции. В настоящее время флаги не определены, поэтому этот параметр должен быть равен нулю.

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

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

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

Код возврата Описание
STATUS_SUCCESS
Функция выполнена успешно.
STATUS_INVALID_PARAMETER
Один или несколько параметров недопустимы.
STATUS_NO_MEMORY
Произошел сбой выделения памяти.

Комментарии

BCryptEnumProviders можно вызывать либо из пользовательского режима, либо из режима ядра. Вызовы режима ядра должны выполняться в PASSIVE_LEVELIRQL.

Требования

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

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

BCRYPT_PROVIDER_NAME

BCryptFreeBuffer