Función RtlAddAce (ntifs.h)
La rutina RtlAddAce agrega una o varias entradas de control de acceso (ACE) a una lista de control de acceso (ACL) especificada.
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 ACA especificados a esta ACL.
[in] AceRevision
Nivel de revisión de ACL del ACE que se va a agregar. Las solicitudes de versión de Windows son las siguientes:
Valor | Significado |
---|---|
ACL_REVISION | El nivel de revisión válido en todas las versiones de Windows. |
ACL_REVISION_DS | El 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 ASE. Un valor de cero inserta los ASE al principio de la lista. Un valor de MAXULONG anexa los ASE al final de la lista.
[in] AceList
Puntero a un búfer que contiene una lista de uno o varios ACA que se van a agregar a la ACL especificada. Los ASE 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 ASE 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. |
Comentarios
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 | Value |
---|---|
Cliente mínimo compatible | Windows Server 2003 con SP1 |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario) |
IRQL | <= APC_LEVEL |