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 |
---|---|
|
L’appel à SeQueryInformationToken a réussi. |
|
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 |