Share via


Fonction QueryContextAttributes (général)

Permet à une application de transport d’interroger un package de sécurité pour certains attributs d’un contexte de sécurité.

Pour plus d’informations sur l’utilisation de cette fonction avec un fournisseur de support de sécurité (SSP) spécifique, consultez les rubriques suivantes.

Rubrique Description
QueryContextAttributes (CredSSP) Permet à une application de transport d’interroger le fournisseur de support de sécurité d’informations d’identification (CredSSP) pour certains attributs d’un contexte de sécurité.
QueryContextAttributes (Digest) Permet à une application de transport d’interroger le package de sécurité Digest pour certains attributs d’un contexte de sécurité.
QueryContextAttributes (Kerberos) Permet à une application de transport d’interroger le package de sécurité Kerberos pour certains attributs d’un contexte de sécurité.
QueryContextAttributes (Negotiate) Permet à une application de transport d’interroger le package de sécurité Negotiate pour certains attributs d’un contexte de sécurité.
QueryContextAttributes (NTLM) Permet à une application de transport d’interroger le package de sécurité NTLM pour certains attributs d’un contexte de sécurité.
QueryContextAttributes (Schannel) Permet à une application de transport d’interroger le package de sécurité Schannel pour certains attributs d’un contexte de sécurité.

Syntaxe

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

Paramètres

phContext [in]

Une poignée vers le contexte de sécurité à interroger.

ulAttribute [in]

Spécifie l’attribut du contexte à renvoyer. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
SECPKG_ATTR_ACCESS_TOKEN
18
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_AccessToken.
Retourne une poignée au jeton d’accès.
SECPKG_ATTR_APP_DATA
0x5e
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SessionAppData.
Retourne ou spécifie les données d’application pour la session.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_AUTHORITY
6
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Authority.
Interroge le nom de l’autorité d’authentification.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_ClientSpecifiedTarget qui représente le nom du principal de service (SPN) de la cible initiale fournie par le client.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_CONNECTION_INFO
0x5a
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_ConnectionInfo.
Retourne des informations détaillées sur la connexion établie.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_CREDS_2
0x80000086
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_ClientCreds qui spécifie les informations d’identification du client.
Si les informations d’identification du client sont le nom d’utilisateur et le mot de passe, la mémoire tampon est une structure KERB_INTERACTIVE_LOGON empaquetée.
Si les informations d’identification du client sont le nom d’utilisateur et le code confidentiel de la carte à puce, la mémoire tampon est une structure KERB_CERTIFICATE_LOGON empaquetée.
Si les informations d’identification du client sont les informations d’identification du compte en ligne, la mémoire tampon est une structure SEC_WINNT_AUTH_IDENTITY_EX2 marshalée.
Cet attribut est pris en charge uniquement sur le serveur CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_DCE_INFO
3
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_DceInfo.
Requêtes pour les données d’autorisation utilisées par les services DCE.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Bindings qui spécifie les informations de liaison de canal.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_EapKeyBlock.
Requêtes pour les données clés utilisées par le protocole TLS EAP.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_FLAGS
14
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Flags.
Retourne des informations sur les indicateurs de contexte négociés.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_IssuerListInfoEx.
Retourne la liste d’émetteurs de certificat acceptés par le serveur.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_KEY_INFO
5
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_KeyInfo.
Interroge des informations sur les clés utilisées dans un contexte de sécurité.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_LastClientTokenStatus qui spécifie si le jeton de l’appel le plus récent à la fonction InitializeSecurityContext est le dernier jeton du client.
Cette valeur est prise en charge uniquement par les packages de sécurité Negotiate, Kerberos et NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_LIFESPAN
2
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Lifespan.
Interroge l’étendue de vie du contexte.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Le paramètre pBuffer contient un pointeur vers une structure PCCERT_CONTEXT.
Trouve un contexte de certificat qui contient un certificat de fin local.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_LOCAL_CRED
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_LocalCredentialInfo. (obsolète)
Remplacé par SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Names.
Interroge le nom associé au contexte.
SECPKG_ATTR_NATIVE_NAMES
13
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_NativeNames.
Retourne le nom du principal (CNAME) à partir du ticket sortant.
SECPKG_ATTR_NEGOTIATION_INFO
12
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_NegotiationInfo.
Retourne des informations sur le package de sécurité à utiliser avec le processus de négociation et l’état actuel de la négociation pour l’utilisation de ce package.
SECPKG_ATTR_PACKAGE_INFO
10
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_PackageInfo.
Retourne des informations sur le SSP en cours d’utilisation.
SECPKG_ATTR_PASSWORD_EXPIRY
8
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_PasswordExpiry.
Retourne les informations d’expiration du mot de passe.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Le paramètre pBuffer contient un pointeur vers une structure PCCERT_CONTEXT.
Trouve un contexte de certificat qui contient le certificat de fin fourni par le serveur.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_ROOT_STORE
0x55
Le paramètre pBuffer contient un pointeur vers un HCERTCONTEXT. Trouve un contexte de certificat qui contient un certificat fourni par le magasin racine.
SECPKG_ATTR_SESSION_KEY
9
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SessionKey.
Retourne des informations relatives aux clés de session.
SECPKG_ATTR_SESSION_INFO
0x5d
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SessionInfo.
Retourne des informations relatives à la session.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_SIZES
0
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Sizes.
Interroge les tailles des structures utilisées dans les fonctions par message.
SECPKG_ATTR_STREAM_SIZES
4
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_StreamSizes.
Interroge les tailles des différentes parties d’un flux utilisé dans les fonctions par message.
Cet attribut est pris en charge uniquement par le package de sécurité Schannel.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SubjectAttributes.
Cette valeur retourne des informations relatives aux attributs de sécurité de la connexion.
Cette valeur est prise en charge uniquement sur le serveur CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SupportedSignatures.
Cette valeur retourne des informations relatives aux types de signature pris en charge pour la connexion.
Cette valeur est prise en charge uniquement par la délégation contrainte Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.
SECPKG_ATTR_TARGET_INFORMATION
17
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_TargetInformation.
Retourne des informations sur le nom du serveur distant.
SECPKG_ATTR_UNIQUE_BINDINGS
25
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Bindings qui spécifie les informations de liaison de canal.
Cette valeur est prise en charge uniquement par la délégation contrainte Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : cette valeur n’est pas prise en charge.

 

pBuffer [out]

Pointeur vers une structure recevant les attributs. Le type de structure pointé dépend de la valeur spécifiée dans le paramètre ulAttribute.

Valeur retournée

Si la fonction réussit, la valeur de retour est SEC_E_OK.

Si la fonction échoue, la valeur de retour est un code d'erreur différent de zéro.

Notes

La structure pointée par le paramètre pBuffer varie en fonction de l’attribut interrogé. L’appelant doit allouer la structure pBuffer même, mais le SSP alloue toute mémoire nécessaire pour contenir les membres de taille variable de la structure pBuffer. La mémoire allouée par le SSP peut être libérée en appelant la fonction FreeContextBuffer.

Une fois que la valeur SECPKG_ATTR_REMOTE_CERT_CONTEXT ou SECPKG_ATTR_LOCAL_CERT_CONTEXT a été lue, le membre hCertStore est défini sur une poignée d’un magasin de certificats qui contient les certificats intermédiaires, le cas échéant. En outre, l’application est chargée d’appeler CertFreeCertificateContext pour libérer la mémoire utilisée par le contexte de certificat.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Sspi.h (inclut Security.h)
Bibliothèque
Secur32.lib
DLL
Secur32.dll
Noms Unicode et American National Standards Institute
QueryContextAttributesW (Unicode) et QueryContextAttributesA (American National Standards Institute)

Voir aussi

Fonctions SSPI

Prise en charge de la protection étendue de l’authentification (Extended Protection for Authentication/EPA) dans un service

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes