Compartir a través de


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 técnico de seguridad (SSP) específico, 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 (Resumen) Permite que una aplicación de transporte consulte el paquete de seguridad implícita para determinados atributos de un contexto de seguridad.
QueryContextAttributes (Kerberos) Permite que una aplicación de transporte consulte el paquete de seguridad Kerberos para determinados atributos de un contexto de seguridad.
QueryContextAttributes (Negotiate) Permite que una aplicación de transporte consulte el paquete de seguridad Negotiate para determinados atributos de un contexto de seguridad.
QueryContextAttributes (NTLM) Permite que una aplicación de transporte consulte el paquete de seguridad 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]

Identificador del contexto de seguridad 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 siguientes valores.

Valor Significado
SECPKG_ATTR_ACCESS_TOKEN
18
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken .
Devuelve un identificador al token de acceso.
SECPKG_ATTR_APP_DATA
0x5e
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SessionAppData .
Devuelve o especifica los datos de la aplicación para 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_Authority .
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 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 de KERB_INTERACTIVE_LOGON empaquetada.
Si la credencial de cliente es el nombre de usuario y el PIN de tarjeta inteligente, el búfer es una estructura de KERB_CERTIFICATE_LOGON empaquetada.
Si la credencial de cliente es una credencial de identidad en línea, el búfer es una estructura de SEC_WINNT_AUTH_IDENTITY_EX2 serializado.
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_DceInfo .
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 de SecPkgContext_Bindings que especifica la información de enlace del 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_EapKeyBlock .
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 de 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 seguridadNegotiate, 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_Lifespan .
Consulta el período de vida del contexto.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
El parámetro pBuffer contiene un puntero a una estructura de 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 al contexto.
SECPKG_ATTR_NATIVE_NAMES
13
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_NativeNames .
Devuelve el nombre principal (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 contraseña.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
El parámetro pBuffer contiene un puntero a una estructura de 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 un 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 las claves 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 de SecPkgContext_SubjectAttributes .
Este valor devuelve información sobre los atributos de seguridad de la conexión.
Este valor 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 la delegación restringida 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 de SecPkgContext_Bindings que especifica la información de enlace del canal.
Este valor solo es compatible con la delegación restringida 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 ejecuta correctamente, el valor devuelto es SEC_E_OK.

Si se produce un error en la función, el valor devuelto es un código de error distinto de cero.

Observaciones

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 .

Después de leer el SECPKG_ATTR_REMOTE_CERT_CONTEXT o SECPKG_ATTR_LOCAL_CERT_CONTEXT valor, el miembro hCertStore se establecerá en un identificador 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
Mínima versión de cliente admitida
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows Server 2003 [solo aplicaciones de escritorio]
Cabecera
Sspi.h (incluye Security.h)
Biblioteca
Secur32.lib
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