Función AddAccessAllowedAce (securitybaseapi.h)

La función AddAccessAllowedAce agrega una entrada de control de acceso permitido (ACE) a una lista de control de acceso (ACL). El acceso se concede a un identificador de seguridad (SID) especificado.

Para controlar si los objetos secundarios pueden heredar la nueva ACE, use la función AddAccessAllowedAceEx .

Sintaxis

BOOL AddAccessAllowedAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

Parámetros

[in, out] pAcl

Puntero a una ACL. Esta función agrega una ACE permitida por el acceso al final de esta ACL. La ACE tiene la forma de una estructura ACCESS_ALLOWED_ACE .

[in] dwAceRevision

Especifica el nivel de revisión de la ACL que se va a modificar.

Este valor puede ser ACL_REVISION o ACL_REVISION_DS. Use ACL_REVISION_DS si la ACL contiene ACE específicas del objeto.

[in] AccessMask

Especifica la máscara de los derechos de acceso que se van a conceder al SID especificado.

[in] pSid

Puntero al SID que representa un usuario, grupo o cuenta de inicio de sesión al que se concede acceso.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. A continuación se muestran los posibles valores de error.

Código devuelto Descripción
ERROR_ALLOTTED_SPACE_EXCEEDED
La nueva ACE no encaja en la ACL. Se requiere un búfer de ACL mayor.
ERROR_INVALID_ACL
La ACL especificada no tiene el formato correcto.
ERROR_INVALID_SID
El SID especificado no es estructuralmente válido.
ERROR_REVISION_MISMATCH
La revisión especificada no se conoce o es incompatible con la de la ACL.
ERROR_SUCCESS
La ACE se agregó correctamente.

Comentarios

La adición de una ACE permitida por el acceso a una ACL es la forma más común de modificación de ACL.

Las funciones AddAccessAllowedAce y AddAccessDeniedAce agregan una nueva ACE al final de la lista de ACE para la ACL. Estas funciones no colocan automáticamente la nueva ACE en el orden canónico adecuado. Es responsabilidad del autor de la llamada asegurarse de que la ACL está en orden canónico agregando ACE en la secuencia adecuada.

La estructura de ACE_HEADER colocada en la ACE por la función AddAccessAllowedAce especifica un tipo y un tamaño, pero no proporciona herencia y ninguna marca ACE.

Ejemplos

Para obtener un ejemplo que usa esta función, vea Iniciar un proceso de cliente interactivo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado securitybaseapi.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

ACCESS_ALLOWED_ACE

ACE_HEADER

AddAccessAllowedAceEx

AddAccessDeniedAce

AddAce

AddAuditAccessAce

DeleteAce

GetAce

Access Control de bajo nivel

Funciones de Access Control de bajo nivel