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 oggetti 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 di 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 di 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 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 è consentito, Se è consentito, Se l'accesso è consentito, Se è consentito, 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 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

Vedi anche

SeAccessCheck

SeAccessCheckFromState