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 |