Compartir a través de


Función RtlAddAccessAllowedAceEx (ntifs.h)

La rutina de RtlAddAccessAllowedAceEx agrega una entrada de control de acceso permitido para el acceso (ACE ) con marcas ACE de herencia a una lista de control de acceso (ACL). El acceso se concede al identificador de seguridad especificado (SID).

Sintaxis

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

Parámetros

[in, out] Acl

Puntero a un búfer asignado por el autor de la llamada que contiene la ACL que se va a modificar. RtlAddAccessAllowedAceEx agrega una ACE permitida por el acceso al final de esta ACL. La ACE está en forma de una estructura de ACCESS_ALLOWED_ACE.

[in] AceRevision

Nivel de revisión de ACL de la ACE que se va a agregar. Este valor puede ser ACL_REVISION o ACL_REVISION_DS. Debe ser ACL_REVISION_DS si la ACL contiene una ACE específica del objeto.

[in] AceFlags

Máscara de bits que especifica las marcas heredadas de la ACE que se va a agregar.

[in] AccessMask

Máscara de bits de una o varias marcas de ACCESS_MASK que especifican los derechos de acceso que se van a conceder al SID especificado. Para obtener más información, vea la descripción del parámetro DesiredAccess de ZwCreateFile.

[in] Sid

Puntero a la estructura de SID que representa una cuenta de usuario, grupo o inicio de sesión a la que se concede acceso.

Valor devuelto

rtlAddAccessAllowedAceEx puede devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_SUCCESS La ACE se agregó correctamente.
STATUS_ALLOTTED_SPACE_EXCEEDED Una nueva ACE no cabe en la ACL. Se requiere un búfer de ACL mayor. Para obtener más información sobre cómo calcular el tamaño de una ACL, vea RtlCreateAcl.
STATUS_INVALID_ACL La ACL especificada no tiene el formato correcto.
STATUS_INVALID_PARAMETER El parámetro AceFlags no era válido.
STATUS_INVALID_SID La estructura de SID especificada no es estructuralmente válida.
STATUS_REVISION_MISMATCH El aceRevision especificado no se conoce o no es compatible con el de la ACL.

Observaciones

A diferencia de RtlAddAccessAllowedAce, esta rutina establece las marcas ACE de herencia.

Para obtener más información sobre la seguridad y el control de acceso, consulte modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK, como:

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h, FltKernel.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

de ACL

RtlCreateAcl

rtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

rtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

de SID

seAssignSecurity

ZwCreateFile