Funzione RtlAddAccessAllowedAce (ntifs.h)

La routine RtlAddAccessAllowedAce aggiunge una voce di controllo di accesso consentito (ACE) a un elenco di controllo di accesso (ACL). L'accesso viene concesso all'identificatore di sicurezza (SID) specificato.

Sintassi

NTSYSAPI NTSTATUS RtlAddAccessAllowedAce(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Parametri

[in, out] Acl

Puntatore a un buffer allocato dal chiamante contenente l'ACL da modificare. RtlAddAccessAllowedAce aggiunge un ace consentito all'accesso alla fine di questo elenco di controllo di accesso. Ace è sotto forma di struttura ACCESS_ALLOWED_ACE.

[in] AceRevision

Livello di revisione ACL dell'ace da aggiungere. I riquirmenti delle versioni di Windows sono i seguenti:

Valore Significato
ACL_REVISION
Livello di revisione valido in tutte le versioni di Windows.
ACL_REVISION_DS
Livello di revisione valido a partire da Windows 2000.
NotaAceRevision deve essere ACL_REVISION_DS se l'ACL in Acl contiene un ace specifico dell'oggetto.
 

[in] AccessMask

Maschera di bit di uno o più flag ACCESS_MASK che specificano i diritti di accesso da concedere al SID specificato. Per altre informazioni, vedere la descrizione del parametro DesiredAccess di ZwCreateFile.

[in] Sid

Puntatore alla struttura SID che rappresenta un utente, un gruppo o un account di accesso a cui viene concesso l'accesso.

Valore restituito

RtlAddAccessAllowedAce può restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS
L'ace è stato aggiunto correttamente.
STATUS_ALLOTTED_SPACE_EXCEEDED
Un nuovo ACE non rientra nell'elenco di controllo di accesso. È necessario un buffer ACL più grande. Per informazioni sul calcolo delle dimensioni di un ACL, vedere RtlCreateAcl .
STATUS_INVALID_ACL
L'elenco di controllo di accesso specificato non è formato correttamente.
STATUS_INVALID_SID
La struttura SID specificata non è strutturalmente valida.
STATUS_REVISION_MISMATCH
La revisione specificata non è nota o non è compatibile con quella dell'ACL.

Commenti

Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere Modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Vedi anche

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile