Condividi tramite


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

Vedi anche

SeAccessCheck

SeAccessCheckFromState