Compartir a través de


Función AddResourceAttributeAce (securitybaseapi.h)

La función addResourceAttributeAce agrega un SYSTEM_RESOURCE_ATTRIBUTE_ACEentrada de control de acceso (ACE) al final de una lista de control de acceso del sistema (SACL). Una estructura SYSTEM_RESOURCE_ATTRIBUTE_ACE especifica un nombre de atributo y una lista ordenada por valores de 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 está en 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 ACL específicas del objeto.

[in] AceFlags

Conjunto de marcas de bits que controlan la herencia ace. La función establece estas marcas en el miembro aceFlags de 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 de CONTAINER_INHERIT_ACE y OBJECT_INHERIT_ACE en el parámetro aceFlags de .

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

Valor Significado
CONTAINER_INHERIT_ACE
2 (0x2)
Los objetos de contenedor 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 heredarlo.
INHERITED_ACE
16 (0x10)
Indica una ACE heredada. Esta marca permite que las operaciones que cambien la seguridad en un árbol de objetos modifiquen los ACE heredados, a la vez que no cambian los ACL que se aplicaron directamente al objeto.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Los bits OBJECT_INHERIT_ACE y CONTAINER_INHERIT_ACE no se propagan a una ACE heredada.
OBJECT_INHERIT_ACE
1 (0x1)
Los objetos que no son de contenedor 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 Valor
cliente mínimo admitido Windows 8 [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2012 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de securitybaseapi.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

derechos de acceso estándar