Partager via


Fonction SeAccessCheckFromStateEx (ntifs.h)

SeAccessCheckFromStateEx 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 SeAccessCheckFromStateEx(
  PSECURITY_DESCRIPTOR SecurityDescriptor,
  PACCESS_TOKEN        PrimaryToken,
  PACCESS_TOKEN        ClientToken,
  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.

PrimaryToken

[in] Pointeur vers une structure de ACCESS_TOKEN opaque pour le jeton principal. Cette structure fournit les informations du jeton nécessaires pour effectuer une case activée d’accès.

ClientToken

[in_opt] Pointeur facultatif vers une structure de ACCESS_TOKEN opaque pour le 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

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

Remarques

SeAccessCheckFromStateEx 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
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

SeAccessCheck

SeAccessCheckFromState