Fonction PrivilegeCheck (securitybaseapi.h)

La fonction PrivilegeCheck détermine si un ensemble de privilèges spécifié est activé dans un jeton d’accès. La fonction PrivilegeCheck est généralement appelée par une application serveur pour case activée les privilèges du jeton d’accès d’un client.

Syntaxe

BOOL PrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     LPBOOL         pfResult
);

Paramètres

[in] ClientToken

Handle pour un jeton d’accès représentant un processus client. Ce handle doit avoir été obtenu en ouvrant le jeton d’un thread empruntant l’identité du client. Le jeton doit être ouvert pour un accès TOKEN_QUERY.

[in, out] RequiredPrivileges

Pointeur vers une structure PRIVILEGE_SET . Le membre Privilege de cette structure est un tableau de structures LUID_AND_ATTRIBUTES . Avant d’appeler PrivilegeCheck, utilisez le tableau Privilege pour indiquer le jeu de privilèges à case activée. Définissez le membre Control sur PRIVILEGE_SET_ALL_NECESSARY si tous les privilèges doivent être activés ; ou définissez-le sur zéro s’il est suffisant que l’un des privilèges soit activé.

Lorsque PrivilegeCheck est retourné, le membre Attributes de chaque structure LUID_AND_ATTRIBUTES est défini sur SE_PRIVILEGE_USED_FOR_ACCESS si le privilège correspondant est activé.

[out] pfResult

Pointeur vers une valeur que la fonction définit pour indiquer si tous les privilèges spécifiés sont activés dans le jeton d’accès. Si le membre Control de la structure PRIVILEGE_SET spécifie PRIVILEGE_SET_ALL_NECESSARY, cette valeur est TRUE uniquement si tous les privilèges sont activés ; sinon, cette valeur est TRUE si l’un des privilèges est activé.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Un jeton d’accès contient une liste des privilèges détenus par le compte associé au jeton. Ces privilèges peuvent être activés ou désactivés ; la plupart sont désactivés par défaut. La fonction PrivilegeCheck recherche uniquement les privilèges activés. Pour obtenir la liste de tous les privilèges activés et désactivés détenus par un jeton d’accès, appelez la fonction GetTokenInformation . Pour activer ou désactiver un ensemble de privilèges dans un jeton d’accès, appelez la fonction AdjustTokenPrivileges .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

AdjustTokenPrivileges

Fonctions de Access Control client/serveur

Vue d’ensemble des Access Control client/serveur

GetTokenInformation

LUID_AND_ATTRIBUTES

LookupPrivilegeValue

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegedServiceAuditAlarm