Partager via


Fonction SeAccessCheckFromState (ntifs.h)

SeAccessCheckFromState vérifie si les droits d’accès demandés peuvent être accordés à un objet protégé par un descripteur de sécurité et un propriétaire d’objet facultatif.

Syntaxe

BOOLEAN SeAccessCheckFromState(
  PSECURITY_DESCRIPTOR      SecurityDescriptor,
  PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
  PTOKEN_ACCESS_INFORMATION ClientTokenInformation,
  ACCESS_MASK               DesiredAccess,
  ACCESS_MASK               PreviouslyGrantedAccess,
  PPRIVILEGE_SET            *Privileges,
  PGENERIC_MAPPING          GenericMapping,
  KPROCESSOR_MODE           AccessMode,
  PACCESS_MASK              GrantedAccess,
  PNTSTATUS                 AccessStatus
);

Paramètres

SecurityDescriptor

[in] Pointeur vers une structure de SECURITY_DESCRIPTOR contenant les informations de sécurité protégeant l’objet accessible.

PrimaryTokenInformation

[in] Pointeur vers la structure TOKEN_ACCESS_INFORMATION capturée à partir du jeton principal. Cette structure fournit les informations du jeton nécessaires pour effectuer une case activée d’accès.

ClientTokenInformation

[in_opt] Pointeur facultatif vers la structure TOKEN_ACCESS_INFORMATION capturée à partir du jeton client.

DesiredAccess

[in] Valeur ACCESS_MASK qui spécifie les droits d’accès souhaités à case activée.

PreviouslyGrantedAccess

[in] Valeur ACCESS_MASK qui spécifie tous les accès auxquels l’utilisateur a déjà été accordé ; par exemple, en raison de la conservation d’un privilège.

Privileges

[out] Pointeur vers une structure PRIVILEGE_SET dans laquelle un jeu de privilèges est retourné pour indiquer tous les privilèges utilisés dans le cadre de la validation de l’accès.

GenericMapping

[in] Pointeur vers la structure GENERIC_MAPPING associée à ce type d’objet.

AccessMode

[in] Valeur KPROCESSOR_MODE qui spécifie le mode processeur à utiliser dans le case activée. AccessMode peut être KernelMode ou UserMode. Les pilotes de niveau inférieur doivent spécifier KernelMode.

GrantedAccess

[out] Pointeur vers une valeur de ACCESS_MASK retournée qui indique l’accès accordé.

AccessStatus

[out] Pointeur vers une valeur NT status qui peut être retournée pour indiquer la raison pour laquelle l’accès a été refusé. Consultez la section Notes.

Valeur de retour

SeAccessCheckFromState retourne TRUE si l’accès est autorisé ; elle retourne LA VALEUR FALSE si l’accès n’est pas autorisé.

Remarques

SeAccessCheckFromState peut effectuer des tests pour les privilèges suivants, en fonction des accès demandés :

  • SeTakeOwnershipPrivilege
  • SeSecurityPrivilege

Cette routine peut également case activée si l’appelant est le propriétaire de l’objet afin d’accorder WRITE_DAC ou READ_CONTROL accès.

Si cette routine retourne FALSE, l’appelant doit utiliser accessStatus retourné comme valeur de retour. Autrement dit, l’appelant doit éviter de coder en dur une valeur de retour de STATUS_ACCESS_DENIED ou toute autre valeur STATUS_XXX spécifique.

Cette routine peut être appelée à partir du niveau DPC. Elle ne doit donc pas être paginable.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
En-tête ntifs.h (include ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

SeAccessCheck

SeAccessCheckFromStateEx