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 可以从用户模式或内核模式调用。 内核模式调用方必须在 IRQLPASSIVE_LEVEL执行。

要求

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