Funzione SeAccessCheckFromState (ntifs.h)

SeAccessCheckFromState verifica se i diritti di accesso richiesti possono essere concessi a un oggetto protetto da un descrittore di sicurezza e da un proprietario di oggetti facoltativo.

Sintassi

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
);

Parametri

SecurityDescriptor

[in] Puntatore a una struttura SECURITY_DESCRIPTOR contenente le informazioni di sicurezza che proteggono l'oggetto a cui si accede.

PrimaryTokenInformation

[in] Puntatore alla struttura TOKEN_ACCESS_INFORMATION acquisita dal token primario. Questa struttura fornisce le informazioni del token necessarie per eseguire un controllo di accesso.

ClientTokenInformation

[in_opt] Puntatore facoltativo alla struttura TOKEN_ACCESS_INFORMATION acquisita dal token client.

DesiredAccess

[in] Valore ACCESS_MASK che specifica i diritti di accesso desiderati da controllare.

PreviouslyGrantedAccess

[in] Valore ACCESS_MASK che specifica gli accessi già concessi dall'utente; ad esempio, come risultato della conservazione di un privilegio.

Privileges

[out] Puntatore a una struttura PRIVILEGE_SET in cui viene restituito un set di privilegi per indicare eventuali privilegi usati come parte della convalida di accesso.

GenericMapping

[in] Puntatore alla struttura GENERIC_MAPPING associata a questo tipo di oggetto.

AccessMode

[in] Valore KPROCESSOR_MODE che specifica la modalità processore da usare nel controllo. AccessMode può essere KernelMode o UserMode. I driver di livello inferiore devono specificare KernelMode.

GrantedAccess

[out] Puntatore a un valore ACCESS_MASK restituito che indica l'accesso concesso.

AccessStatus

[out] Puntatore a un valore di stato NT che può essere restituito per indicare perché l'accesso è stato negato. Vedere la sezione Osservazioni.

Valore restituito

Se l'accesso è consentito, se l'accesso viene restituito da SeAccessCheckFromState viene restituisce FALSE se l'accesso non è consentito.

Commenti

SeAccessCheckFromState potrebbe eseguire test per i privilegi seguenti, a seconda degli accessi richiesti:

  • SeTakeOwnershipPrivilege
  • SeSecurityPrivilege

Questa routine può anche verificare se il chiamante è il proprietario dell'oggetto per concedere WRITE_DAC o READ_CONTROL accesso.

Se questa routine restituisce FALSE, il chiamante deve usare accessStatus restituito come valore restituito. Vale a dire, il chiamante deve evitare il hardcoding di un valore restituito di STATUS_ACCESS_DENIED o qualsiasi altro valore specifico STATUS_XXX.

Questa routine potrebbe essere chiamata dal livello DPC, quindi non deve essere paginabile.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000
Intestazione ntifs.h (include ntifs.h)

Vedi anche

SeAccessCheck

SeAccessCheckFromStateEx