Función AddAuditAccessAceEx (securitybaseapi.h)

La función AddAuditAccessAceEx agrega una entrada de control de acceso (ACE) de auditoría del sistema al final de una lista de control de acceso del sistema (SACL).

Sintaxis

BOOL AddAuditAccessAceEx(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD dwAccessMask,
  [in]      PSID  pSid,
  [in]      BOOL  bAuditSuccess,
  [in]      BOOL  bAuditFailure
);

Parámetros

[in, out] pAcl

Puntero a una SACL. La función AddAuditAccessAceEx agrega una ACE de auditoría del sistema a esta SACL. La ACE tiene la forma de una estructura SYSTEM_AUDIT_ACE .

[in] dwAceRevision

Especifica el nivel de revisión de la SACL que se va a modificar. Este valor puede ser ACL_REVISION o ACL_REVISION_DS. Use ACL_REVISION_DS si la SACL contiene ACE específicas del objeto.

[in] AceFlags

Conjunto de marcas de bits que controlan la herencia ace y el tipo de intentos de acceso que se van a auditar. La función establece estas marcas en el miembro AceFlags de la estructura ACE_HEADER de la nueva ACE. Este parámetro puede ser una combinación de los valores siguientes.

Value Significado
CONTAINER_INHERIT_ACE
Los objetos contenedores heredan la ACE.
FAILED_ACCESS_ACE_FLAG
Si establece esta marca o especifica TRUE para el parámetro bAuditFailure , los intentos erróneos de usar los derechos de acceso especificados hacen que el sistema genere un registro de auditoría en el registro de eventos de seguridad.
INHERIT_ONLY_ACE
La ACE no se aplica al objeto al que se asigna la lista de control de acceso (ACL), pero los objetos secundarios pueden heredarla.
INHERITED_ACE
Indica una ACE heredada. Esta marca permite que las operaciones que cambien la seguridad en un árbol de objetos modifiquen las ACE heredadas, al tiempo que no cambian los ACE que se aplicaron directamente al objeto.
NO_PROPAGATE_INHERIT_ACE
Los bits de OBJECT_INHERIT_ACE y CONTAINER_INHERIT_ACE no se propagan a una ACE heredada.
OBJECT_INHERIT_ACE
Los objetos que no son de contenedor heredan la ACE.
SUCCESSFUL_ACCESS_ACE_FLAG
Si establece esta marca o especifica TRUE para el parámetro bAuditSuccess, los usos correctos de los derechos de acceso especificados hacen que el sistema genere un registro de auditoría en el registro de eventos de seguridad.

[in] dwAccessMask

Conjunto de marcas de bits que usan el formato ACCESS_MASK para especificar los derechos de acceso que audita la nueva ACE para el identificador de seguridad (SID) especificado.

[in] pSid

Puntero a un SID que identifica al usuario, grupo o sesión de inicio de sesión para el que la nueva ACE audita el acceso.

[in] bAuditSuccess

Especifica si los usos correctos de los derechos de acceso especificados hacen que el sistema genere un registro de auditoría en el registro de eventos de seguridad. Si esta marca es TRUE o si el parámetro AceFlags especifica la marca SUCCESSFUL_ACCESS_ACE_FLAG, el sistema registra los intentos de acceso correctos; de lo contrario, no lo hace.

[in] bAuditFailure

Especifica si los intentos erróneos de usar los derechos de acceso especificados hacen que el sistema genere un registro de auditoría en el registro de eventos de seguridad. Si esta marca es TRUE o si el parámetro AceFlags especifica la marca FAILED_ACCESS_ACE_FLAG, el sistema registra los intentos de acceso erróneos; de lo contrario, no lo hace.

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_FLAGS
El parámetro AceFlags no es válido.
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.

Requisitos

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

Consulte también

ACCESS_MASK

ACE_HEADER

ACL

AddAccessAllowedAceEx

AddAccessDeniedAceEx

Access Control de bajo nivel

Funciones de Access Control de bajo nivel

SYSTEM_AUDIT_ACE