Funzione SeAccessCheckFromStateEx (ntifs.h)
SeAccessCheckFromStateEx verifica 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 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
);
Parametri
SecurityDescriptor
[in] Puntatore a una struttura SECURITY_DESCRIPTOR contenente le informazioni di sicurezza che proteggono l'oggetto a cui si accede.
PrimaryToken
[in] Puntatore a una struttura ACCESS_TOKEN opaca per il token primario. Questa struttura fornisce le informazioni del token necessarie per eseguire un controllo di accesso.
ClientToken
[in_opt] Puntatore facoltativo a una struttura ACCESS_TOKEN opaca per il token client.
DesiredAccess
[in] Valore ACCESS_MASK che specifica i diritti di accesso desiderati da controllare.
PreviouslyGrantedAccess
[in] Valore ACCESS_MASK che specifica tutti gli accessi già concessi all'utente; ad esempio, in seguito alla 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 utilizzati 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
SeAccessCheckFromStateEx restituisce TRUE se l'accesso è consentito; restituisce FALSE se l'accesso non è consentito.
Commenti
SeAccessCheckFromStateEx 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 accessStatus restituito come valore restituito. Ovvero, 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 paging.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 |
Intestazione | ntifs.h |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |