Fonction QueryContextAttributesA (sspi.h)

La fonction QueryContextAttributes (CredSSP) permet à une application de transport d’interroger le package de sécurité CredSSP (Credential Security Support Provider) pour certains attributs d’un contexte de sécurité.

Syntaxe

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

Paramètres

[in] phContext

Handle du contexte de sécurité à interroger.

[in] ulAttribute

Attribut du contexte à retourner. Ce paramètre peut prendre les valeurs suivantes. Sauf indication contraire, les attributs s’appliquent à la fois au client et au serveur.

Valeur Signification
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_AccessToken qui spécifie le jeton d’accès pour le contexte de sécurité actuel.

Cet attribut est pris en charge uniquement sur le serveur.

SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_AccessToken qui spécifie le jeton d’accès pour le contexte de sécurité actuel.

Cet attribut est pris en charge uniquement sur le serveur.

SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
Le paramètre pBuffer contient un pointeur vers une structure CERT_TRUST_STATUS qui spécifie des informations d’approbation sur le certificat.

Cet attribut est pris en charge uniquement sur le client.

SECPKG_ATTR_CREDS
0x80000080
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_ClientCreds qui spécifie les informations d’identification du client.

Les informations d’identification du client peuvent être le nom d’utilisateur et le mot de passe ou le nom d’utilisateur et le code confidentiel intelligent carte.

Cet attribut est pris en charge uniquement sur le serveur.

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 packed.

Si les informations d’identification du client sont le nom d’utilisateur et le code confidentiel intelligent carte, la mémoire tampon est une structure de KERB_CERTIFICATE_LOGON empaquetée.

Si les informations d’identification du client sont des informations d’identification d’identité 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_NEGOTIATION_PACKAGE
0x80000081
Le paramètre pBuffer contient un pointeur vers une structure >SecPkgContext_PackageInfo SecPkgContext_PackageInfo qui spécifie le nom du package d’authentification négocié par le fournisseur Microsoft Negotiate .
SECPKG_ATTR_PACKAGE_INFO
10
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_PackageInfo">SecPkgContext_PackageInfo .

Retourne des informations sur le fournisseur de services partagés en cours d’utilisation.

SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Flags qui spécifie des informations sur les indicateurs dans le contexte de sécurité actuel.

Cet attribut est pris en charge uniquement sur le client.

SECPKG_ATTR_SIZES
0x0
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_Sizes .

Interroge les tailles des structures utilisées dans les fonctions par message et les échanges d’authentification.

SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Le paramètre pBuffer contient un pointeur vers une structure SecPkgContext_SubjectAttributes .

Cette valeur retourne des informations sur les 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.

[out] pBuffer

Pointeur vers une structure qui reçoit les attributs. Le type de structure dépend de la valeur du paramètre ulAttribute .

Valeur retournée

Si la fonction réussit, elle retourne SEC_E_OK.

Si la fonction échoue, elle peut retourner les codes d’erreur suivants.

Code/valeur de retour Description
SEC_E_INVALID_HANDLE
0x80100003
La fonction a échoué. Le paramètre phContext spécifie un handle dans un contexte incomplet.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
La fonction a échoué. La valeur du paramètre ulAttribute n’est pas valide.

Remarques

La structure pointée vers le paramètre pBuffer varie en fonction de l’attribut interrogé.

Alors que l’appelant doit allouer la structure pBuffer elle-même, le fournisseur de services partagés alloue toute la mémoire nécessaire pour contenir les membres de taille variable de la structure pBuffer . La mémoire allouée par le fournisseur de services partagés doit être libérée en appelant la fonction FreeContextBuffer .

Notes

L’en-tête sspi.h définit QueryContextAttributes comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête sspi.h (include Security.h)
Bibliothèque Secur32.lib
DLL Secur32.dll

Voir aussi

CERT_CONTEXT

FreeContextBuffer

Fonctions SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes