Función QueryContextAttributes (General)

Permite que una aplicación de transporte consulte un paquete de seguridad para determinados atributos de un contexto de seguridad.

Para obtener información sobre el uso de esta función con un proveedor de soporte de seguridad específico (SSP), consulte los temas siguientes.

Tema Descripción
QueryContextAttributes (CredSSP) Habilita una aplicación de transporte para consultar el proveedor de soporte técnico de seguridad de credenciales (CredSSP) para determinados atributos de un contexto de seguridad.
QueryContextAttributes (Digest) Permite que una aplicación de transporte consulte un paquete de seguridad de determinados atributos de un contexto de seguridad.
QueryContextAttributes (Kerberos) Permite que una aplicación de transporte consulte un paquete de seguridad de Kerberos para determinados atributos de un contexto de seguridad.
QueryContextAttributes (Negotiate) Permite que una aplicación de transporte consulte un paquete de seguridad de Negotiate para determinados atributos de un contexto de seguridad.
QueryContextAttributes (NTLM) Permite que una aplicación de transporte consulte un paquete de seguridad de NTLM para determinados atributos de un contexto de seguridad.
QueryContextAttributes (SChannel) Permite que una aplicación de transporte consulte el paquete de seguridad de SChannel para determinados atributos de un contexto de seguridad.

Sintaxis

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

Parámetros

phContext [in]

Un controlador del contexto de seguridad al que se va a consultar.

ulAttribute [in]

Especifica el atributo del contexto que se va a devolver. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
SECPKG_ATTR_ACCESS_TOKEN
18
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken.
Devuelve un controlador para el token de acceso.
SECPKG_ATTR_APP_DATA
0x5e
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken.
Devuelve o especifica los datos de aplicaciones de la sesión.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_AUTHORITY
6
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken.
Consulta el nombre de la entidad de autenticación.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_ClientSpecifiedTarget que representa el nombre de entidad de seguridad de servicio (SPN) del destino inicial proporcionado por el cliente.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_CONNECTION_INFO
0x5a
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_ConnectionInfo.
Devuelve información detallada sobre la conexión establecida.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_CREDS_2
0x80000086
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_ClientCreds que especifica las credenciales de cliente.
Si la credencial de cliente es el nombre de usuario y la contraseña, el búfer es una estructura empaquetada KERB_INTERACTIVE_LOGON.
Si la credencial de cliente es el nombre de usuario y el PIN de tarjeta inteligente, el búfer es una estructura KERB_CERTIFICATE_LOGON. empaquetada.
Si la credencial de cliente es una credencial de identidad en línea, el búfer es una estructura SEC_WINNT_AUTH_IDENTITY_EX2 serializada.
Este atributo solo se admite en el servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_DCE_INFO
3
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken.
Consultas de datos de autorización usados por los servicios DCE.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_Bindings que especifica información de enlace de canal.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken.
Consultas de datos clave utilizados por el protocolo TLS de EAP.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_FLAGS
14
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_Flags.
Devuelve información sobre las marcas de contexto negociadas.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_IssuerListInfoEx.
Devuelve una lista de emisores de certificados aceptados por el servidor.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_KEY_INFO
5
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_KeyInfo.
Consulta información sobre las claves usadas en un contexto de seguridad.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_LastClientTokenStatus que especifica si el token de la llamada más reciente a la función InitializeSecurityContext es el último token del cliente.
Este valor solo es compatible con los paquetes de seguridad Negotiate, Kerberos y NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_LIFESPAN
2
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_KeyInfo.
Consulta el período de vida del contexto.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
El parámetro pBuffer contiene un puntero a una estructura PCCERT_CONTEXT.
Busca un contexto de certificado que contiene un certificado final local.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_LOCAL_CRED
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_LocalCredentialInfo. (obsoleto)
Reemplazado por SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_ Names.
Consulta el nombre asociado con el contexto.
SECPKG_ATTR_NATIVE_NAMES
13
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_NativeNames.
Devuelve el nombre de la entidad de seguridad (CNAME) del vale de salida.
SECPKG_ATTR_NEGOTIATION_INFO
12
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_NegotiationInfo.
Devuelve información sobre el paquete de seguridad que se va a usar con el proceso de negociación y el estado actual de la negociación para el uso de ese paquete.
SECPKG_ATTR_PACKAGE_INFO
10
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_PackageInfo.
Devuelve información sobre el SSP en uso.
SECPKG_ATTR_PASSWORD_EXPIRY
8
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_PasswordExpiry.
Devuelve información de expiración de las contraseñas.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
El parámetro pBuffer contiene un puntero a una estructura PCCERT_CONTEXT.
Busca un contexto de certificado que contiene el certificado final proporcionado por el servidor.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_ROOT_STORE
0x55
El parámetro pBuffer contiene un puntero a un HCERTCONTEXT. Busca un contexto de certificado que contiene el certificado proporcionado por el almacén raíz.
SECPKG_ATTR_SESSION_KEY
9
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SessionKey.
Devuelve información sobre la clave de sesión.
SECPKG_ATTR_SESSION_INFO
0x5d
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SessionInfo.
Devuelve información sobre la sesión.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_SIZES
0
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_Sizes.
Consulta los tamaños de las estructuras usadas en las funciones por mensaje.
SECPKG_ATTR_STREAM_SIZES
4
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_StreamSizes.
Consulta los tamaños de las distintas partes de una secuencia usadas en las funciones por mensaje.
Este atributo solo es compatible con el paquete de seguridad de SChannel.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SubjectAttributes.
Este valor devuelve información sobre los atributos de seguridad de la conexión.
Este atributo solo se admite en el servidor CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SupportedSignatures.
Este valor devuelve información sobre los tipos de firma que se admiten para la conexión.
Este valor solo es compatible con las delegaciones restringidas de Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_TARGET_INFORMATION
17
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_TargetInformation.
Devuelve información sobre el nombre del servidor remoto.
SECPKG_ATTR_UNIQUE_BINDINGS
25
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_Bindings que especifica información de enlace de canal.
Este valor solo es compatible con las delegaciones restringidas de Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.

 

pBuffer [out]

Puntero a una estructura que recibe los atributos. El tipo de estructura al que apunta depende del valor especificado en el parámetro ulAttribute.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es SEC_E_OK.

Si la función no se ejecuta correctamente, el valor devuelto es un código de error nonzero.

Comentarios

La estructura a la que apunta el parámetro pBuffer varía en función del atributo que se consulta. El autor de la llamada debe asignar la propia estructura pBuffer, pero el SSP asigna cualquier memoria necesaria para contener miembros de tamaño variable de la estructura pBuffer. La memoria asignada por el SSP se puede liberar llamando a la función FreeContextBuffer..

Una vez leído el valor SECPKG_ATTR_REMOTE_CERT_CONTEXT o SECPKG_ATTR_LOCAL_CERT_CONTEXT, el miembro hCertStore se establecerá en un controlador en un almacén de certificados que contenga los certificados intermedios, si los hubiera. Además, la aplicación es responsable de llamar a CertFreeCertificateContext para liberar la memoria usada por el contexto del certificado.

Requisitos

Requisito Valor
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Sspi.h (incluye Security.h)
Biblioteca
Secur32.lib
Archivo DLL
Secur32.dll
Nombres Unicode y ANSI
QueryContextAttributesW (Unicode) y QueryContextAttributesA (ANSI)

Consulte también

Funciones SSPI

Compatibilidad con la protección ampliada para la autenticación (EPA) en un servicio

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes