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


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

Функция BCryptEnumAlgorithms получает список зарегистрированных идентификаторов алгоритма.

Синтаксис

NTSTATUS BCryptEnumAlgorithms(
  [in]  ULONG                       dwAlgOperations,
  [out] ULONG                       *pAlgCount,
  [out] BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList,
  [in]  ULONG                       dwFlags
);

Параметры

[in] dwAlgOperations

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

Значение Значение
BCRYPT_CIPHER_OPERATION
0x00000001
Включите алгоритмы шифра в перечисление .
BCRYPT_HASH_OPERATION
0x00000002
Включите хэш-алгоритмы в перечисление .
BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
Включите асимметричные алгоритмы шифрования в перечисление .
BCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
Включите алгоритмы секретного соглашения в перечисление .
BCRYPT_SIGNATURE_OPERATION
0x00000010
Включите алгоритмы подписи в перечисление .
BCRYPT_RNG_OPERATION
0x00000020
Включите алгоритмы генератора случайных чисел (RNG) в перечисление.

[out] pAlgCount

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

[out] ppAlgList

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

[in] dwFlags

Набор флагов, которые изменяют поведение этой функции. Для этой функции не определены флаги.

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

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

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

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

Комментарии

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

Требования

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