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 |