Freigeben über


RtlAddAce-Funktion (ntifs.h)

Die RtlAddAce-Routine fügt einer angegebenen Zugriffssteuerungsliste (Access Control List, ACL) einen oder mehrere Zugriffssteuerungseinträge (Access Control Entries, ACEs) hinzu.

Syntax

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

Parameter

[in, out] Acl

Zeiger auf die zu ändernde ACL. RtlAddAce fügt dieser ACL die angegebenen ACEs hinzu.

[in] AceRevision

ACL-Revisionsebene des hinzuzufügenden ACE. Windows-Versionsanforderungen sind die folgenden:

Wert Bedeutung
ACL_REVISION Die Für alle Windows-Versionen gültige Revisionsebene.
ACL_REVISION_DS Die ab Windows 2000 gültige Revisionsebene.

AceRevision muss ACL_REVISION_DS werden, wenn die ACL in Acl ein objektspezifisches ACE enthält.

[in] StartingAceIndex

Gibt die Position in der Liste der ACEs der ACL an, an der neue ACEs hinzugefügt werden sollen. Der Wert null fügt die ACEs am Anfang der Liste ein. Ein Wert von MAXULONG fügt die ACEs am Ende der Liste an.

[in] AceList

Zeiger auf einen Puffer, der eine Liste von mindestens einem ACEs enthält, die der angegebenen ACL hinzugefügt werden sollen. Die ACEs in der Liste müssen zusammenhängend gespeichert werden.

[in] AceListLength

Größe des Eingabepuffers in Bytes, auf den der AceList-Parameter verweist.

Rückgabewert

RtlAddAce gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL Die neuen ACEs passen nicht in die ACL. Ein größerer ACL-Puffer ist erforderlich. STATUS_BUFFER_TOO_SMALL ist ein Fehlercode.
STATUS_INVALID_PARAMETER Einer der Parameterwerte war ungültig. Mögliche Gründe sind, dass die angegebene ACL ungültig ist oder die angegebene Revision unbekannt ist, nicht mit Revisionen in der ACE-Liste kompatibel ist oder nicht mit der Revision der ACL kompatibel ist. STATUS_INVALID_PARAMETER ist ein Fehlercode.

Hinweise

Informationen zum Berechnen der Größe einer ACL finden Sie im Abschnitt Hinweise des Referenzeintrags für RtlCreateAcl.

Verwenden Sie RtlGetAce, um einen Zeiger auf einen ACE in einer ACL zu erhalten.

Um einen ACE aus einer ACL zu löschen, verwenden Sie RtlDeleteAce.

Verwenden Sie RtlAddAccessAllowedAce, um einer Zugriffssteuerungsliste einen zugriffsberechtigten ACE hinzuzufügen.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Server 2003 mit SP1
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL <= APC_LEVEL

Weitere Informationen

ASS

ACL

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

RtlGetAce