Funzione RtlAddAce (ntifs.h)

La routine RtlAddAce aggiunge una o più voci di controllo di accesso (ACL) a un elenco di controllo di accesso specificato.

Sintassi

NTSYSAPI NTSTATUS RtlAddAce(
  [in, out] PACL  Acl,
  [in]      ULONG AceRevision,
  [in]      ULONG StartingAceIndex,
  [in]      PVOID AceList,
  [in]      ULONG AceListLength
);

Parametri

[in, out] Acl

Puntatore all'elenco di controllo di accesso da modificare. RtlAddAce aggiunge gli ACL specificati a questo elenco di controllo di accesso.

[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.

AceRevision deve essere ACL_REVISION_DS se l'ACL in Acl contiene un ace specifico dell'oggetto.

[in] StartingAceIndex

Specifica la posizione nell'elenco di ACL di ACL in cui aggiungere nuovi ACL. Il valore zero inserisce gli ACL all'inizio dell'elenco. Un valore di MAXULONG aggiunge gli ACL alla fine dell'elenco.

[in] AceList

Puntatore a un buffer contenente un elenco di uno o più ACL da aggiungere all'elenco di controllo di accesso specificato. Gli ACL nell'elenco devono essere archiviati in modo contiguo.

[in] AceListLength

Dimensioni, in byte, del buffer di input a cui punta il parametro AceList .

Valore restituito

RtlAddAce restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL I nuovi ACL non rientrano nell'elenco di controllo di accesso. È necessario un buffer ACL più grande. STATUS_BUFFER_TOO_SMALL è un codice di errore.
STATUS_INVALID_PARAMETER Uno dei valori dei parametri non è valido. I possibili motivi includono che l'elenco di controllo di accesso specificato non è valido o che la revisione specificata è sconosciuta, non è compatibile con le revisioni nell'elenco ACE o non è compatibile con la revisione dell'ACL. STATUS_INVALID_PARAMETER è un codice di errore.

Commenti

Per informazioni sul calcolo delle dimensioni di un ACL, vedere la sezione Osservazioni della voce di riferimento per RtlCreateAcl.

Per ottenere un puntatore a un ace in un elenco di controllo di accesso, usare RtlGetAce.

Per eliminare un ace da un elenco di controllo di accesso, usare RtlDeleteAce.

Per aggiungere un ace consentito all'accesso a un elenco di controllo di accesso, usare RtlAddAccessAllowedAce.

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
Client minimo supportato Windows Server 2003 con SP1
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe (modalità kernel); Ntdll.dll (modalità utente)
IRQL <= APC_LEVEL

Vedi anche

ACE

ACL

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

RtlGetAce