BCryptQueryContextFunctionConfiguration 函数 (bcrypt.h)
[BCryptQueryContextFunctionConfiguration 可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]
BCryptQueryContextFunctionConfiguration 函数获取现有 CNG 上下文的加密函数配置信息。
语法
NTSTATUS BCryptQueryContextFunctionConfiguration(
[in] ULONG dwTable,
[in] LPCWSTR pszContext,
[in] ULONG dwInterface,
[in] LPCWSTR pszFunction,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer
);
参数
[in] dwTable
标识上下文所在的配置表。 这可以是以下值之一。
值 | 含义 |
---|---|
|
上下文存在于本地计算机配置表中。 |
|
此值不可用。 |
[in] pszContext
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要获取其函数配置信息的上下文的标识符。
[in] dwInterface
标识要获取其函数配置信息的加密接口。 这可以是以下值之一。
[in] pszFunction
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要获取其配置信息的加密函数的标识符。
[in, out] pcbBuffer
输入时包含 ppBuffer 指向的缓冲区的大小(以字节为单位)的 ULONG 变量的地址。 如果此大小不足以保存上下文信息,则此函数将失败并 STATUS_BUFFER_TOO_SMALL。
此函数返回后,此变量包含复制到 ppBuffer 缓冲区的字节数。
[in, out] ppBuffer
指向 CRYPT_CONTEXT_FUNCTION_CONFIG 结构的指针的地址,该结构接收此函数检索到的函数配置信息。 由buffer 参数指向的值包含此缓冲区的大小。
如果此参数指向的值为 NULL,则此函数将分配所需的内存。 当不再需要此内存时,必须通过将此指针传递给 BCryptFreeBuffer 函数来释放此内存。
如果此参数为 NULL,则此函数会将所需大小(以字节为单位)放置在由STATUS_BUFFER_TOO_SMALL参数指向的变量中。
有关此参数用法的详细信息,请参阅备注。
返回值
返回指示函数成功或失败的状态代码。
可能的返回代码包括但不限于以下内容。
返回代码 | 说明 |
---|---|
|
函数成功。 |
|
ppBuffer 参数不为 NULL,且由 2buffer 参数指向的值不够大,无法容纳上下文集。 |
|
一个或多个参数无效。 |
|
发生内存分配失败。 |
|
找不到指定的上下文或函数。 |
注解
每个加密函数只有一组配置信息,因此,尽管 ppBuffer 参数似乎是用作数组的 ,但此函数将其视为只有一个元素的数组。 以下示例有助于阐明如何使用此参数。
// Get the function configuration information.
CRYPT_CONTEXT_FUNCTION_CONFIG FuncConfig;
ULONG uSize = sizeof(FuncConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG pFuncConfig = &FuncConfig;
status = BCryptQueryContextFunctionConfiguration(
CRYPT_LOCAL,
pszContext,
NCRYPT_SCHANNEL_INTERFACE,
pszFunction,
&uSize,
&pFuncConfig);
BCryptQueryContextFunctionConfiguration 只能在用户模式下调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | bcrypt.h |
Library | Bcrypt.lib |
DLL | Bcrypt.dll |