Freigeben über


RtlAddAce-Funktion (ntifs.h)

Die RtlAddAce Routine fügt einer angegebenen Zugriffssteuerungsliste (ACL-) mindestens einen Zugriffssteuerungseintrag hinzu ( ACEs).

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 der zu hinzufügenden ACE. Windows-Versionsanforderungen sind die folgenden:

Wert Bedeutung
ACL_REVISION Die Revisionsebene, die für alle Windows-Versionen gültig ist.
ACL_REVISION_DS Die Gültige Revisionsebene ab Windows 2000.

AceRevision- muss ACL_REVISION_DS werden, wenn die ACL in Acl- eine objektspezifische ACE enthält.

[in] StartingAceIndex

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

[in] AceList

Zeiger auf einen Puffer, der eine Liste mit 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 geeigneten 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 Überarbeitungen in der ACE-Liste kompatibel ist oder nicht mit der Revision der ACL kompatibel ist. STATUS_INVALID_PARAMETER ist ein Fehlercode.

Bemerkungen

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

Um einen Zeiger auf eine ACE in einer ACL zu erhalten, verwenden Sie RtlGetAce.

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

Um einer ACL eine zugriffsfähige ACE hinzuzufügen, verwenden Sie RtlAddAccessAllowedAce.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Server 2003 mit SP1
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL- <= APC_LEVEL

Siehe auch

ACE-

ACL-

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

RtlGetAce-