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


Функция 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 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]
целевая платформа Виндоус
заголовка bcrypt.h
библиотеки Bcrypt.lib
DLL Bcrypt.dll