Condividi tramite


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)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe

Vedi anche

SeAccessCheck

SeAccessCheckFromStateEx