BCryptQueryProviderRegistration 函数 (bcrypt.h)
BCryptQueryProviderRegistration 函数检索有关 CNG 提供程序的信息。
语法
NTSTATUS BCryptQueryProviderRegistration(
[in] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwInterface,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REG *ppBuffer
);
参数
[in] pszProvider
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要获取相关信息的提供程序的名称。
[in] dwMode
指定要检索的信息的类型。 这可以是以下值之一。
值 | 含义 |
---|---|
|
检索提供程序的任何信息。 |
|
检索提供程序的用户模式信息。 |
|
检索提供程序的内核模式信息。 |
|
检索提供程序的用户模式和内核模式信息。 |
[in] dwInterface
指定要检索其信息的接口。 这可以是以下值之一。
[in, out] pcbBuffer
指向 ULONG 值的指针,该值在输入时包含 ppBuffer 参数指向的缓冲区的大小(以字节为单位)。 退出时,此值接收复制到缓冲区的字节数或缓冲区的所需大小(以字节为单位)。
[in, out] ppBuffer
指向缓冲区指针的指针,该指针接收 CRYPT_PROVIDER_REG 结构和描述提供程序的其他数据。
如果此参数为 NULL,则此函数将返回 STATUS_BUFFER_TOO_SMALL ,并放置在 由STATUS_BUFFER_TOO_SMALL 参数指向的值中,即所有数据的所需大小(以字节为单位)。
如果此参数是 NULL 指针的地址,则此函数将分配所需的内存,用提供程序信息填充它,并在此参数中放置指向此内存的指针。 使用此内存后,请通过将此指针传递给 BCryptFreeBuffer 函数来释放内存。
如果此参数是非 NULL 指针的地址,则此函数会将提供程序信息复制到此缓冲区。 “线路板”参数必须包含整个缓冲区的大小(以字节为单位)。 如果缓冲区不够大,无法保存所有提供程序信息,则此函数将返回 STATUS_BUFFER_TOO_SMALL。
返回值
返回指示函数成功或失败的状态代码。
可能的返回代码包括但不限于以下内容。
返回代码 | 说明 |
---|---|
|
函数成功。 |
|
一个或多个参数无效。 |
|
由线路板参数指定的大小不够大,无法容纳所有数据。 |
|
找不到与指定条件匹配的提供程序。 |
注解
只能在用户模式下调用 BCryptQueryProviderRegistration。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | bcrypt.h |
Library | Bcrypt.lib |
DLL | Bcrypt.dll |