Compartir a través de


Función RtlAddAce (ntifs.h)

La rutina de RtlAddAce agrega una o varias entradas de control de acceso (ACE) a una lista de control de acceso especificada (ACL).

Sintaxis

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

Parámetros

[in, out] Acl

Puntero a la ACL que se va a modificar. RtlAddAce agrega los ACL especificados a esta ACL.

[in] AceRevision

Nivel de revisión de ACL de la ACE que se va a agregar. Los requisitos de versión de Windows son los siguientes:

Valor Significado
ACL_REVISION Nivel de revisión válido en todas las versiones de Windows.
ACL_REVISION_DS Nivel de revisión válido a partir de Windows 2000.

aceRevision debe ser ACL_REVISION_DS si la ACL de Acl contiene una ACE específica del objeto.

[in] StartingAceIndex

Especifica la posición de la lista de ACL de ACL en la que se van a agregar nuevos ACI. Un valor de cero inserta los ACL al principio de la lista. Un valor de MAXULONG anexa los ACE al final de la lista.

[in] AceList

Puntero a un búfer que contiene una lista de uno o varios ACL que se van a agregar a la ACL especificada. Los ACE de la lista deben almacenarse de forma contigua.

[in] AceListLength

Tamaño, en bytes, del búfer de entrada al que apunta el parámetro AceList.

Valor devuelto

RtlAddAce devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL Los nuevos ACL no caben en la ACL. Se requiere un búfer de ACL mayor. STATUS_BUFFER_TOO_SMALL es un código de error.
STATUS_INVALID_PARAMETER Uno de los valores de parámetro no era válido. Entre los posibles motivos se incluyen que la ACL especificada no es válida o que la revisión especificada es desconocida, no es compatible con las revisiones de la lista ace o no es compatible con la revisión de la ACL. STATUS_INVALID_PARAMETER es un código de error.

Observaciones

Para obtener información sobre cómo calcular el tamaño de una ACL, vea la sección Comentarios de la entrada de referencia para RtlCreateAcl.

Para obtener un puntero a una ACE en una ACL, use RtlGetAce.

Para eliminar una ACE de una ACL, use RtlDeleteAce.

Para agregar una ACE permitida por el acceso a una ACL, use RtlAddAccessAllowedAce.

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.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Server 2003 con SP1
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario)
irQL <= APC_LEVEL

Consulte también

ACE

de ACL

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

rtlGetAce