Fonction SeQueryInformationToken (ntifs.h)

La routine SeQueryInformationToken récupère un type d’informations spécifié sur un jeton d’accès. Le processus d’appel doit disposer des droits d’accès appropriés pour obtenir les informations.

Syntaxe

NTSTATUS SeQueryInformationToken(
  [in]  PACCESS_TOKEN           Token,
  [in]  TOKEN_INFORMATION_CLASS TokenInformationClass,
  [out] PVOID                   *TokenInformation
);

Paramètres

[in] Token

Pointeur vers un jeton d’accès à partir duquel les informations doivent être récupérées. Si TokenInformationClass est défini sur TokenSource, le handle doit avoir TOKEN_QUERY_SOURCE accès. Pour toutes les autres valeurs TokenInformationClass , le handle doit avoir TOKEN_QUERY accès.

[in] TokenInformationClass

Valeur du TOKEN_INFORMATION_CLASS type énuméré qui identifie le type d’informations à récupérer.

[out] TokenInformation

Si STATUS_SUCCESS est retourné, TokenInformation reçoit un pointeur vers un emplacement qui contient l’adresse d’une mémoire tampon contenant les informations demandées. Le format de cette mémoire tampon d’informations dépend de la valeur de TokenInformationClass, comme indiqué dans le tableau suivant. N’oubliez pas que la mémoire tampon est allouée par SeQueryInformationToken à partir d’un pool paginé. Cette mémoire tampon doit finalement être libérée par l’appelant à l’aide d’ExFreePool.

Valeur Description
TokenDefaultDacl La mémoire tampon reçoit une structure TOKEN_DEFAULT_DACL qui contient la liste de contrôle d’accès par défaut pour les objets nouvellement créés.
TokenGroups La mémoire tampon reçoit une structure TOKEN_GROUPS qui contient les comptes de groupe associés au jeton.
TokenImpersonationLevel La mémoire tampon reçoit une valeur SECURITY_IMPERSONATION_LEVEL qui indique le niveau d’emprunt d’identité du jeton. Si le jeton d’accès n’est pas un jeton d’emprunt d’identité, l’appel à SeQueryInformationToken échoue.
TokenOwner La mémoire tampon reçoit une structure TOKEN_OWNER qui contient l’identificateur de sécurité du propriétaire (SID) par défaut pour les objets nouvellement créés.
TokenPrimaryGroup La mémoire tampon reçoit une structure TOKEN_PRIMARY_GROUP qui contient le SID de groupe principal par défaut pour les objets nouvellement créés.
TokenPrivileges La mémoire tampon reçoit une structure TOKEN_PRIVILEGES qui contient les privilèges du jeton.
TokenSessionId La mémoire tampon reçoit une valeur DWORD (et non un pointeur vers celle-ci) qui indique l’identificateur de session des services Terminal Server associé au jeton. Si le jeton est associé à la session de console Terminal Server, l’identificateur de session est égal à zéro. Un identificateur de session différent de zéro indique une session cliente des services Terminal Server. Dans un environnement non-Terminal Services, l’identificateur de session est égal à zéro.
TokenSource La mémoire tampon reçoit une structure TOKEN_SOURCE qui contient la source du jeton. TOKEN_QUERY_SOURCE accès est nécessaire pour récupérer ces informations.
TokenStatistics La mémoire tampon reçoit une structure TOKEN_STATISTICS qui contient diverses statistiques de jeton.
TokenType La mémoire tampon reçoit une valeur TOKEN_TYPE qui indique si le jeton est un jeton principal ou un jeton d’emprunt d’identité.
TokenUser La mémoire tampon reçoit une structure TOKEN_USER qui contient le compte d’utilisateur du jeton.
TokenIntegrityLevel La mémoire tampon reçoit une valeur DWORD (et non un pointeur vers celle-ci) qui spécifie le niveau d’intégrité du jeton.

Valeur retournée

Code de retour Description
STATUS_SUCCESS
L’appel à SeQueryInformationToken a réussi.
STATUS_INVALID_INFO_CLASS
Une valeur non valide a été fournie pour TokenInformationClass.

Remarques

Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez Modèle de sécurité Windows pour les développeurs de pilotes et la documentation sur ces rubriques dans le Kit de développement logiciel (SDK) Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

PsDereferenceImpersonationToken

PsDereferencePrimaryToken

SECURITY_IMPERSONATION_LEVEL

SID

SeQueryAuthenticationIdToken

SeQuerySubjectContextToken

SeTokenIsAdmin

SeTokenIsRestricted

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER