QueryContextAttributes (CredSSP) 函数允许传输应用程序针对安全上下文的某些属性查询凭据安全支持提供程序(CredSSP)安全包。
语法
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
参数
-
phContext [in]
-
要查询的安全上下文的句柄。
-
ulAttribute [in]
-
要返回的上下文的属性。 此参数可以是下列值之一。 除非另行指定,否则属性适用于客户端和服务器。
价值 含义 - SECPKG_ATTR_C_ACCESS_TOKEN
- 0x80000012
pBuffer 参数包含指向SecPkgContext_AccessToken结构的指针,该结构指定当前安全上下文的访问令牌。
此属性仅在服务器上受支持。- SECPKG_ATTR_C_FULL_ACCESS_TOKEN
- 0x80000082
pBuffer 参数包含指向SecPkgContext_AccessToken结构的指针,该结构指定当前安全上下文的访问令牌。
此属性仅在服务器上受支持。- SECPKG_ATTR_CERT_TRUST_STATUS
- 0x80000084
pBuffer 参数包含指向指定证书信任信息的CERT_TRUST_STATUS结构的指针。
此属性仅在客户端上受支持。- SECPKG_ATTR_CREDS
- 0x80000080
pBuffer 参数包含指向指定客户端凭据的SecPkgContext_ClientCreds结构的指针。
客户端凭据可以是用户名和密码,也可以是用户名和密码和智能卡 PIN。
此属性仅在服务器上受支持。- SECPKG_ATTR_CREDS_2
- 0x80000086
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: 不支持此值。- SECPKG_ATTR_NEGOTIATION_PACKAGE
- 0x80000081
pBuffer 参数包含指向SecPkgContext_PackageInfo结构的指针,该结构指定由 Microsoft Negotiate 提供程序协商的身份验证包的名称。 - SECPKG_ATTR_PACKAGE_INFO
- 10
pBuffer 参数包含指向SecPkgContext_PackageInfo结构的指针。
返回有关正在使用的 SSP 的信息。- SECPKG_ATTR_SERVER_AUTH_FLAGS
- 0x80000083
pBuffer 参数包含指向SecPkgContext_Flags结构的指针,该结构指定有关当前安全上下文中的标志的信息。
此属性仅在客户端上受支持。- SECPKG_ATTR_SIZES
- 0x0
pBuffer 参数包含指向SecPkgContext_Sizes结构的指针。
查询每条消息函数和身份验证交换中使用的结构的大小。- SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
- 124
pBuffer 参数包含指向SecPkgContext_SubjectAttributes结构的指针。
此值返回有关连接的安全属性的信息。
此值仅在 CredSSP 服务器上受支持。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支持此值。 -
pBuffer [out]
-
指向接收属性的结构的指针。 结构类型取决于 ulAttribute 参数的值。
返回值
如果函数成功,它将返回SEC_E_OK。
如果函数失败,它可以返回以下错误代码。
| 返回代码/值 | 说明 |
|---|---|
|
此函数失败。
phContext 参数指定不完整上下文的句柄。 |
|
此函数失败。
ulAttribute 参数的值无效。 |
注解
pBuffer 参数指向的结构因所查询的属性而异。
尽管调用方必须分配 pBuffer 结构本身,但 SSP 分配保存 pBuffer 结构的可变大小成员所需的任何内存。 SSP 分配的内存必须通过调用 FreeContextBuffer 函数来释放。
要求
| 要求 | 价值 |
|---|---|
| 支持的最低客户端 |
Windows Vista [仅限桌面应用] |
| 支持的最低服务器 |
Windows Server 2008 [仅限桌面应用] |
| 标题 |
|
| 图书馆 |
|
| DLL |
|
| Unicode 和 ANSI 名称 |
QueryContextAttributesW (Unicode) 和 QueryContextAttributesA (ANSI) |
另请参阅