Función AddMandatoryAce (securitybaseapi.h)

La función AddMandatoryAce agrega una entrada de control de acceso (ACE) SYSTEM_MANDATORY_LABEL_ACE a la lista de control de acceso del sistema (SACL) especificada.

Sintaxis

BOOL AddMandatoryAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD MandatoryPolicy,
  [in]      PSID  pLabelSid
);

Parámetros

[in, out] pAcl

Puntero a una SACL. Esta función agrega una ACE obligatoria al final de esta SACL. La ACE tiene la forma de una estructura de SYSTEM_MANDATORY_LABEL_ACE .

[in] dwAceRevision

Nivel de revisión de la SACL que se va a modificar. Este valor puede ser uno de los valores siguientes.

Valor Significado
ACL_REVISION
La SACL no contiene ACE específicas del objeto.
ACL_REVISION_DS
SacL contiene ACE especificadas por el objeto.

[in] AceFlags

Un conjunto de marcas de bits que controlan la herencia ACE. Esta 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
OBJECT_INHERIT_ACE
0x1
Los objetos que no son de contenedor heredan la ACE.
CONTAINER_INHERIT_ACE
0x2
Los objetos contenedores heredan la ACE.
NO_PROPAGATE_INHERIT_ACE
0x4
Los bits de OBJECT_INHERIT_ACE y CONTAINER_INHERIT_ACE no se propagan a una ACE heredada.
INHERIT_ONLY_ACE
0x8
La ACE no se aplica al objeto al que se asigna la SACL, pero los objetos secundarios pueden heredar la ACE.
INHERITED_ACE
0x10
La ACE se hereda. Las operaciones que cambian la seguridad en un árbol de objetos pueden modificar las ACE heredadas sin cambiar las ACE que se aplicaron directamente al objeto.

[in] MandatoryPolicy

La directiva de acceso para entidades de seguridad con un nivel de integridad obligatorio inferior al objeto asociado a la SACL que contiene esta ACE.

Valor Significado
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Una entidad de seguridad con un nivel obligatorio inferior al objeto no puede escribir en el objeto .
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Una entidad de seguridad con un nivel obligatorio inferior al del objeto no puede leer el objeto.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Una entidad de seguridad con un nivel obligatorio inferior al del objeto no puede ejecutar el objeto.

[in] pLabelSid

Puntero a un SID que especifica el nivel de integridad obligatorio del objeto asociado al SACL que se va a anexar.

Valor devuelto

Si la función se ejecuta correctamente, devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError. A continuación se muestran los posibles valores de error.

Código o valor devuelto Descripción
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
La nueva ACE no cabe en el búfer de pAcl .

Comentarios

Para compilar una aplicación que usa esta función, defina _WIN32_WINNT como 0x0600 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

Requisitos

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

Consulte también

SYSTEM_MANDATORY_LABEL_ACE