QueryContextAttributesExA 函数 (sspi.h)
语法
SECURITY_STATUS SEC_ENTRY QueryContextAttributesExA(
[in] PCtxtHandle phContext,
[in] unsigned long ulAttribute,
[out] void *pBuffer,
[in] unsigned long cbBuffer
);
参数
[in] phContext
要查询的安全上下文的句柄。
[in] ulAttribute
指定要返回的上下文的属性。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
pBuffer 参数包含指向SecPkgContext_AccessToken结构的指针。
返回访问令牌的句柄。 |
|
pBuffer 参数包含指向SecPkgContext_SessionAppData结构的指针。
返回或指定会话的应用程序数据。 仅 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向SecPkgContext_Authority结构的指针。
查询身份验证机构的名称。 |
|
pBuffer 参数包含指向SecPkgContext_ClientSpecifiedTarget结构的指针,该结构表示服务主体名称 (客户端提供的初始目标的 SPN) 。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
pBuffer 参数包含指向SecPkgContext_ConnectionInfo结构的指针。
返回有关已建立连接的详细信息。 仅 Schannel 安全包支持此属性。 |
|
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_DceInfo结构的指针。
查询 DCE 服务使用的授权数据。 |
|
pBuffer 参数包含指向指定通道绑定信息的SecPkgContext_Bindings结构的指针。
仅 Schannel 安全包支持此属性。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
pBuffer 参数包含指向SecPkgContext_EapKeyBlock结构的指针。
查询 EAP TLS 协议使用的关键数据。 仅 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向SecPkgContext_Flags结构的指针。
返回有关协商的上下文标志的信息。 |
|
pBuffer 参数包含指向SecPkgContext_IssuerListInfoEx结构的指针。
返回服务器接受的证书颁发者列表。 仅 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向SecPkgContext_KeyInfo结构的指针。
查询有关安全上下文中使用的密钥的信息。 |
|
pBuffer 参数包含指向 SecPkgContext_LastClientTokenStatus 结构的指针,该结构指定最近调用 InitializeSecurityContext 函数的令牌是否是客户端的最后一个令牌。
只有 Negotiate、Kerberos 和 NTLM 安全包支持此值。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
pBuffer 参数包含指向SecPkgContext_Lifespan结构的指针。
查询上下文的生命周期。 |
|
pBuffer 参数包含指向PCCERT_CONTEXT结构的指针。
查找包含本地结束证书的证书上下文。 仅 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向SecPkgContext_LocalCredentialInfo结构的指针。 (已过时) 被SECPKG_ATTR_LOCAL_CERT_CONTEXT取代。 |
|
pBuffer 参数包含指向SecPkgContext_Names结构的指针。
查询与上下文关联的名称。 |
|
pBuffer 参数包含指向SecPkgContext_NativeNames结构的指针。
从出站票证 (CNAME) 返回主体名称。 |
|
pBuffer 参数包含指向SecPkgContext_NegotiationInfo结构的指针。
返回有关要与协商过程一起使用的安全包的信息,以及使用该包的协商的当前状态。 |
|
pBuffer 参数包含指向SecPkgContext_PackageInfo结构的指针。
返回有关正在使用的 SSP 的信息。 |
|
pBuffer 参数包含指向 SecPkgContext_PasswordExpiry 结构的指针。
返回密码过期信息。 |
|
pBuffer 参数包含指向 PCCERT_CONTEXT 结构的指针。
查找包含服务器提供的结束证书的证书上下文。 只有 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向 HCERTCONTEXT 的指针。 查找包含根存储区提供的证书的证书上下文。 |
|
pBuffer 参数包含指向 SecPkgContext_SessionKey 结构的指针。
返回有关会话密钥的信息。 |
|
pBuffer 参数包含指向 SecPkgContext_SessionInfo 结构的指针。
返回有关会话的信息。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 只有 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向SecPkgContext_Sizes结构的指针。
查询每条消息函数中使用的结构的大小。 |
|
pBuffer 参数包含指向 SecPkgContext_StreamSizes 结构的指针。
查询每条消息函数中使用的流的各个部分的大小。 只有 Schannel 安全包支持此属性。 |
|
pBuffer 参数包含指向 SecPkgContext_SubjectAttributes 结构的指针。
此值返回有关连接的安全属性的信息。 此值仅在 CredSSP 服务器上受支持。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
pBuffer 参数包含指向SecPkgContext_SupportedSignatures结构的指针。
此值返回有关连接支持的签名类型的信息。 只有 Schannel 安全包支持此值。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
pBuffer 参数包含指向 SecPkgContext_TargetInformation 结构的指针。
返回有关远程服务器名称的信息。 |
|
pBuffer 参数包含指向指定通道绑定信息的SecPkgContext_Bindings结构的指针。
只有 Schannel 安全包支持此值。 Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
[out] pBuffer
指向接收特性的 结构的指针。 指向的结构的类型取决于 ulAttribute 参数中指定的值。
[in] cbBuffer
pBuffer 参数的大小(以字节为单位)。
返回值
如果函数成功,则返回值SEC_E_OK。
如果函数失败,则返回值为非零错误代码。
注解
注意
sspi.h 标头将 QueryContextAttributesEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | sspi.h (包括 Security.h) |
Library | Secur32.lib |
DLL | Secur32.dll |