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 |