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。 内核模式调用方必须在 IRQL PASSIVE_LEVEL 执行。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 bcrypt.h
Library Bcrypt.lib
DLL Bcrypt.dll