Función AddResourceAttributeAce (securitybaseapi.h)

La función AddResourceAttributeAce agrega una entrada de control de acceso (ACE) SYSTEM_RESOURCE_ATTRIBUTE_ACE al final de una lista de control de acceso del sistema (SACL). Una estructura de SYSTEM_RESOURCE_ATTRIBUTE_ACE especifica un nombre de atributo y una lista ordenada por valores de los elementos asociados a un recurso y que se pueden usar durante las comprobaciones de acceso. El conjunto de derechos de acceso estándar se define en el tema Derechos de acceso estándar .

Sintaxis

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Parámetros

[in, out] pAcl

Puntero a una lista de control de acceso (ACL). Esta función agrega una ACE a esta ACL. El valor de este parámetro no puede ser NULL. La ACE tiene la forma de una estructura SYSTEM_RESOURCE_ATTRIBUTE_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] AceFlags

Un conjunto de marcas de bits que controlan la herencia ACE. La función establece estas marcas en el miembro AceFlags de la estructura ACE_HEADER de la nueva ACE.

Para mantener la coherencia con la interfaz de usuario de permisos de archivo avanzados de Windows 8, las aplicaciones deben especificar las marcas CONTAINER_INHERIT_ACE y OBJECT_INHERIT_ACE en el parámetro AceFlags.

Este parámetro puede ser una combinación de los valores siguientes.

Value Significado
CONTAINER_INHERIT_ACE
2 (0x2)
Los objetos contenedores heredan la ACE.
INHERIT_ONLY_ACE
8 (0x8)
La ACE no se aplica al objeto al que se asigna la ACE, pero los objetos secundarios pueden heredarla.
INHERITED_ACE
16 (0x10)
Indica una ACE heredada. Esta marca permite que las operaciones que cambien la seguridad en un árbol de objetos modifiquen las ACE heredadas, mientras que no cambian las ACE que se aplicaron directamente al objeto.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Los bits de OBJECT_INHERIT_ACE y CONTAINER_INHERIT_ACE no se propagan a una ACE heredada.
OBJECT_INHERIT_ACE
1 (0x1)
Los objetos que no son contenedores heredan la ACE.

[in] AccessMask

Debe ser cero para Windows 8 y Windows Server 2012.

[in] pSid

Debe ser el SID de todos los usuarios (S-1-1-0) para Windows 8 y Windows Server 2012.

[in] pAttributeInfo

Especifica la información de atributo que se anexará después del SID en la ACE.

[out] pReturnLength

Tamaño, en bytes, del búfer de ACL real usado. Si el búfer especificado por el parámetro pAcl no es lo suficientemente grande, el valor de este parámetro es el tamaño total necesario para el búfer de ACL.

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.

Requisitos

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

Vea también

Derechos de acceso estándar