Freigeben über


RtlAddAccessAllowedAceEx-Funktion (ntifs.h)

Die RtlAddAccessAllowedAceEx Routine fügt einen Zugriffssteuerungseintrag (ACE) mit Vererbungs-ACE-Flags zu einer Zugriffssteuerungsliste (ACL-) hinzu. Der Zugriff wird der angegebenen Sicherheits-ID (SID-) gewährt.

Syntax

NTSYSAPI NTSTATUS RtlAddAccessAllowedAceEx(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ULONG       AceFlags,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Parameter

[in, out] Acl

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die zu ändernde ACL enthält. RtlAddAccessAllowedAceEx fügt am Ende dieser ACL eine zugriffsfähige ACE hinzu. Die ACE ist in Form einer ACCESS_ALLOWED_ACE Struktur.

[in] AceRevision

ACL-Revisionsebene der zu hinzufügenden ACE. Dieser Wert kann ACL_REVISION oder ACL_REVISION_DS werden. Es muss ACL_REVISION_DS werden, wenn die ACL eine objektspezifische ACE enthält.

[in] AceFlags

Bitmaske, die die Vererbungskennzeichnungen der hinzuzufügenden ACE angibt.

[in] AccessMask

Eine Bitmaske eines oder mehrerer ACCESS_MASK Flags, die die Zugriffsrechte angeben, die der angegebenen SID gewährt werden sollen. Weitere Informationen finden Sie in der Beschreibung des parameters DesiredAccess von ZwCreateFile.

[in] Sid

Ein Zeiger auf die SID-Struktur, die ein Benutzer-, Gruppen- oder Anmeldekonto darstellt, das Zugriff gewährt wird.

Rückgabewert

RtlAddAccessAllowedAceEx- kann einen der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
STATUS_SUCCESS Die ACE wurde erfolgreich hinzugefügt.
STATUS_ALLOTTED_SPACE_EXCEEDED Eine neue ACE passt nicht in die ACL. Ein größerer ACL-Puffer ist erforderlich. Weitere Informationen zum Berechnen der Größe einer ACL finden Sie unter RtlCreateAcl.
STATUS_INVALID_ACL Die angegebene ACL ist nicht richtig gebildet.
STATUS_INVALID_PARAMETER Der AceFlags-Parameter war ungültig.
STATUS_INVALID_SID Die angegebene SID-Struktur ist nicht strukturell gültig.
STATUS_REVISION_MISMATCH Die angegebene AceRevision- ist nicht bekannt oder nicht kompatibel mit der der ACL.

Bemerkungen

Im Gegensatz zu RtlAddAccessAllowedAcelegt diese Routine die Vererbungs-ACE-Flags fest.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h, FltKernel.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE-

ACL-

RtlCreateAcl

RtlCreateSecurityDescriptor-

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor-

RtlSetDaclSecurityDescriptor-

RtlSetOwnerSecurityDescriptor-

RtlValidSecurityDescriptor-

SID-

SeAssignSecurity

ZwCreateFile-