Función QueryContextAttributesA (sspi.h)

La función QueryContextAttributes (CredSSP) permite a una aplicación de transporte consultar el paquete de seguridad del proveedor de seguridad de credenciales (CredSSP) para determinados atributos de un contexto de seguridad.

Sintaxis

SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
  [in]  PCtxtHandle   phContext,
  [in]  unsigned long ulAttribute,
  [out] void          *pBuffer
);

Parámetros

[in] phContext

Identificador del contexto de seguridad que se va a consultar.

[in] ulAttribute

Atributo del contexto que se va a devolver. Este parámetro puede ser uno de los valores siguientes. A menos que se especifique lo contrario, los atributos son aplicables tanto al cliente como al servidor.

Valor Significado
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_AccessToken que especifica el token de acceso para el contexto de seguridad actual.

Este atributo solo se admite en el servidor.

SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_AccessToken que especifica el token de acceso para el contexto de seguridad actual.

Este atributo solo se admite en el servidor.

SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
El parámetro pBuffer contiene un puntero a una estructura de CERT_TRUST_STATUS que especifica información de confianza sobre el certificado.

Este atributo solo se admite en el cliente.

SECPKG_ATTR_CREDS
0x80000080
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_ClientCreds que especifica las credenciales de cliente.

Las credenciales de cliente pueden ser el nombre de usuario y la contraseña o el nombre de usuario y el PIN de tarjeta inteligente.

Este atributo solo se admite en el servidor.

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 KERB_INTERACTIVE_LOGON empaquetada.

Si la credencial de cliente es el nombre de usuario y el PIN de la 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_NEGOTIATION_PACKAGE
0x80000081
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_PackageInfo">SecPkgContext_PackageInfo que especifica el nombre del paquete de autenticación negociado por el proveedor microsoft Negotiate .
SECPKG_ATTR_PACKAGE_INFO
10
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_PackageInfo">SecPkgContext_PackageInfo .

Devuelve información sobre el SSP en uso.

SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Flags que especifica información sobre las marcas en el contexto de seguridad actual.

Este atributo solo se admite en el cliente.

SECPKG_ATTR_SIZES
0x0
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Sizes .

Consulta los tamaños de las estructuras usadas en las funciones por mensaje y los intercambios de autenticación.

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.

[out] pBuffer

Puntero a una estructura que recibe los atributos. El tipo de estructura depende del valor del parámetro ulAttribute .

Valor devuelto

Si la función se realiza correctamente, devuelve SEC_E_OK.

Si se produce un error en la función, puede devolver los siguientes códigos de error.

Código o valor devuelto Descripción
SEC_E_INVALID_HANDLE
0x80100003
Error en la función. El parámetro phContext especifica un identificador para un contexto incompleto.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
Error en la función. El valor del parámetro ulAttribute no es válido.

Comentarios

La estructura a la que apunta el parámetro pBuffer varía en función del atributo que se consulta.

Aunque el autor de la llamada debe asignar la propia estructura pBuffer , el SSP asigna cualquier memoria necesaria para contener miembros de tamaño variable de la estructura pBuffer . La memoria asignada por el SSP debe liberarse llamando a la función FreeContextBuffer .

Nota

El encabezado sspi.h define QueryContextAttributes como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado sspi.h (include Security.h)
Library Secur32.lib
Archivo DLL Secur32.dll

Consulte también

CERT_CONTEXT

FreeContextBuffer

Funciones SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes