QueryContextAttributesA 函数 (sspi.h)
语法
SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
[in] PCtxtHandle phContext,
[in] unsigned long ulAttribute,
[out] void *pBuffer
);
参数
[in] phContext
要查询的安全上下文的句柄。
[in] ulAttribute
要返回的上下文的属性。 此参数可以是下列值之一。 除非另行指定,否则属性适用于客户端和服务器。
价值 | 意义 |
---|---|
|
pBuffer 参数包含指向 SecPkgContext_AccessToken 结构的指针,该结构指定当前安全上下文的访问令牌。
此属性仅在服务器上受支持。 |
|
pBuffer 参数包含指向 SecPkgContext_AccessToken 结构的指针,该结构指定当前安全上下文的访问令牌。
此属性仅在服务器上受支持。 |
|
pBuffer 参数包含指向指定证书信任信息的 CERT_TRUST_STATUS 结构的指针。
此属性仅在客户端上受支持。 |
|
pBuffer 参数包含指向指定客户端凭据的 SecPkgContext_ClientCreds 结构的指针。
客户端凭据可以是用户名和密码,也可以是用户名和密码和智能卡 PIN。 此属性仅在服务器上受支持。 |
|
pBuffer 参数包含指向指定客户端凭据的 SecPkgContext_ClientCreds 结构的指针。
如果客户端凭据是用户名和密码,则缓冲区是打包 KERB_INTERACTIVE_LOGON 结构。 如果客户端凭据是用户名和智能卡 PIN,则缓冲区是打包 KERB_CERTIFICATE_LOGON 结构。 如果客户端凭据是联机标识凭据,则缓冲区是封送 SEC_WINNT_AUTH_IDENTITY_EX2 结构。 此属性仅在 CredSSP 服务器上受支持。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支持此值 此值。 |
|
pBuffer 参数包含指向 SecPkgContext_PackageInfo“>SecPkgContext_PackageInfo 结构的指针,该结构指定由 协商Microsoft协商 提供程序协商的身份验证包的名称。 |
|
pBuffer 参数包含指向 SecPkgContext_PackageInfo“>SecPkgContext_PackageInfo 结构的指针。
返回有关正在使用的 SSP 的信息。 |
|
pBuffer 参数包含指向 SecPkgContext_Flags 结构的指针,该结构指定当前安全上下文中有关标志的信息。
此属性仅在客户端上受支持。 |
|
pBuffer 参数包含指向 SecPkgContext_Sizes 结构的指针。
查询每条消息函数和身份验证交换中使用的结构的大小。 |
|
pBuffer 参数包含指向 SecPkgContext_SubjectAttributes 结构的指针。
此值返回有关连接的安全属性的信息。 此值仅在 CredSSP 服务器上受支持。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支持此值。 |
[out] pBuffer
指向接收属性的结构的指针。 结构类型取决于 ulAttribute 参数的值。
返回值
如果函数成功,它将返回SEC_E_OK。
如果函数失败,它可以返回以下错误代码。
返回代码/值 | 描述 |
---|---|
|
函数失败。 phContext 参数指定不完整上下文的句柄。 |
|
函数失败。 ulAttribute 参数的值无效。 |
言论
pBuffer 参数指向的结构因所查询的属性而异。
尽管调用方必须分配 pBuffer 结构本身,但 SSP 分配保存 pBuffer 结构的可变大小成员所需的任何内存。 SSP 分配的内存必须通过调用 FreeContextBuffer 函数来释放。
注意
sspi.h 标头将 QueryContextAttributes 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | sspi.h (包括 Security.h) |
库 | Secur32.lib |
DLL | Secur32.dll |