Condividi tramite


Funzione SeAccessCheckFromState (ntifs.h)

SeAccessCheckFromState controlla se i diritti di accesso richiesti possono essere concessi a un oggetto protetto da un descrittore di sicurezza e da un proprietario di oggetto 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 tutti i privilegi usati come parte della convalida dell'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 utilizzare 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 il motivo per cui l'accesso è stato negato. Vedere la sezione Osservazioni.

Valore restituito

SeAccessCheckFromState restituisce TRUE se l'accesso è consentito; restituisce FALSE se l'accesso non è consentito.

Osservazioni

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 l'accesso.

Se questa routine restituisce FALSE, il chiamante deve utilizzare il AccessStatus restituito come valore restituito. Ciò significa che il chiamante deve evitare di impostare come hardcoding un valore restituito di STATUS_ACCESS_DENIED o qualsiasi altro valore specifico STATUS_XXX.

Questa routine potrebbe essere chiamata dal livello DPC, pertanto non deve essere visualizzabile.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000
intestazione ntifs.h (include ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe

Vedere anche

SeAccessCheck

SeAccessCheckFromStateEx