SetContextAttributesA 函数 (sspi.h)

允许传输应用程序为 安全包设置安全 上下文 属性。 此函数仅受 Schannel 安全包支持。

语法

SECURITY_STATUS SEC_ENTRY SetContextAttributesA(
  [in] PCtxtHandle   phContext,
  [in] unsigned long ulAttribute,
  [in] void          *pBuffer,
  [in] unsigned long cbBuffer
);

参数

[in] phContext

要设置的安全上下文的句柄。

[in] ulAttribute

要设置的上下文的属性。 此参数可以是下列值之一。

价值 意义
SECPKG_ATTR_APP_DATA
94
pBuffer 参数包含指向 SecPkgContext_SessionAppData 结构的指针。

设置会话的应用程序数据。

此属性仅受 Schannel 安全包支持。

SECPKG_ATTR_EAP_PRF_INFO
101
pBuffer 参数包含指向 SecPkgContext_EapPrfInfo 结构的指针。

设置可扩展身份验证协议(EAP)使用的伪随机函数(PRF)。 这是当 SECPKG_ATTR_EAP_KEY_BLOCK 作为 ulAttribute 参数的值传递时,调用 QueryContextAttributes (Schannel) 函数返回的值。

此属性仅受 Schannel 安全包支持。

SECPKG_ATTR_EARLY_START
105
pBuffer 参数包含指向 SecPkgContext_EarlyStart 结构的指针。

设置 False 启动功能。 有关此功能的信息,请参阅 构建更快、更安全的 Web 博客文章。

SECPKG_ATTR_DTLS_MTU
34
设置和检索 MTU(最大传输单位)值以用于 DTLS。 如果未在安全上下文中启用 DTLS,则不支持此属性。

有效值介于 200 字节和 64 KB 之间。 Schannel 中的默认 DTLS MTU 值为 1096 字节。

SECPKG_ATTR_KEYING_MATERIAL_INFO
106
pBuffer 参数包含指向 SecPkgContext_KeyingMaterialInfo 结构的指针。 关键材料导出功能遵循 RFC 5705 标准

此属性仅受 Windows 10 和 Windows Server 2016 或更高版本中的 Schannel 安全包支持。

[in] pBuffer

指向包含要设置属性的值的结构的指针。 指向的结构类型取决于 ulAttribute 参数中指定的值。

[in] cbBuffer

pBuffer 参数的大小(以字节为单位)。

返回值

如果函数成功,该函数将返回SEC_E_OK。

如果函数失败,它将返回非零错误代码。 以下错误代码是可能的错误代码之一。

返回代码 描述
SEC_E_UNSUPPORTED_FUNCTION
Schannel 内核模式返回此值,指示不支持此函数。

言论

注意

sspi.h 标头将 SetContextAttributes 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 sspi.h (包括 Security.h)
Secur32.lib
DLL Secur32.dll