Funzione RtlAddAccessAllowedAceEx (ntifs.h)
La routine RtlAddAccessAllowedAceEx aggiunge una voce di controllo di accesso consentita per l'accesso (ACE) con flag ACE di ereditarietà a un elenco di controllo di accesso (ACL). L'accesso viene concesso all'identificatore di sicurezza specificato (SID).
Sintassi
NTSYSAPI NTSTATUS RtlAddAccessAllowedAceEx(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ULONG AceFlags,
[in] ACCESS_MASK AccessMask,
[in] PSID Sid
);
Parametri
[in, out] Acl
Puntatore a un buffer allocato del chiamante che contiene l'elenco di controllo di controllo di accesso da modificare. RtlAddAccessAllowedAceEx aggiunge un ACE consentito per l'accesso alla fine di questo ACL. L'ACE è sotto forma di una struttura ACCESS_ALLOWED_ACE .
[in] AceRevision
Livello di revisione ACL dell'ace da aggiungere. Questo valore può essere ACL_REVISION o ACL_REVISION_DS. Deve essere ACL_REVISION_DS se l'ACL contiene un ACE specifico dell'oggetto.
[in] AceFlags
Maschera di bit che specifica i flag di eredita dell'ACE da aggiungere.
[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 account utente, gruppo o account di accesso che viene concesso l'accesso.
Valore restituito
RtlAddAccessAllowedAceEx 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'ACL. È necessario un buffer ACL più grande. Per altre informazioni su come calcolare le dimensioni di un ACL, vedere RtlCreateAcl. |
STATUS_INVALID_ACL | L'ACL specificato non è formato correttamente. |
STATUS_INVALID_PARAMETER | Il parametro AceFlags non è valido. |
STATUS_INVALID_SID | La struttura SID specificata non è valida in modo strutturale. |
STATUS_REVISION_MISMATCH | L'oggetto AceRevision specificato non è noto o non è compatibile con quello dell'ACL. |
Commenti
A differenza di RtlAddAccessAllowedAce, questa routine imposta i flag ACE di ereditarietà.
Per altre informazioni sul controllo di sicurezza e accesso, vedere Modello di sicurezza di Windows per sviluppatori driver e la documentazione su questi argomenti in Windows SDK, ad esempio:
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h, FltKernel.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |