BCryptEnumProviders 函数 (bcrypt.h)

BCryptEnumProviders 函数获取支持指定算法的所有 CNG 提供程序。

语法

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

参数

[in] pszAlgId

指向以 null 结尾的 Unicode 字符串的指针,该字符串标识要为其获取提供程序的算法。 这可以是预定义 CNG 算法标识符之一 或其他算法标识符。

[out] pImplCount

指向 ULONG 变量的指针,用于接收 ppImplList 数组中的元素数。

[out] ppImplList

要接收支持指定算法的提供程序集合的 BCRYPT_PROVIDER_NAME 结构的数组的地址。 pImplCount 参数接收此数组中的元素数。 通过将此指针传递给 BCryptFreeBuffer 函数,必须释放此内存。

[in] dwFlags

一组标志,用于修改此函数的行为。 目前未定义任何标志,因此此参数必须为零。

返回值

返回一个状态代码,指示函数的成功或失败。

可能的返回代码包括但不限于以下代码。

返回代码 描述
STATUS_SUCCESS
函数成功。
STATUS_INVALID_PARAMETER
一个或多个参数无效。
STATUS_NO_MEMORY
发生内存分配失败。

言论

BCryptEnumProviders 可以从用户模式或内核模式调用。 内核模式调用方必须在 IRQLPASSIVE_LEVEL执行。

要求

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

另请参阅

BCRYPT_PROVIDER_NAME

BCryptFreeBuffer