estructura ACCESS_ALLOWED_ACE (winnt.h)

La estructura ACCESS_ALLOWED_ACE define una entrada de control de acceso (ACE) para la lista de control de acceso discrecional (DACL) que controla el acceso a un objeto. Una ACE permitida por el acceso permite el acceso a un objeto para un administrador de confianza específico identificado por un identificador de seguridad (SID).

Sintaxis

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

Miembros

Header

ACE_HEADER estructura que especifica el tamaño y el tipo de ACE. También contiene marcas que controlan la herencia de la ACE por objetos secundarios. El miembro AceType de la estructura ACE_HEADER debe establecerse en ACCESS_ALLOWED_ACE_TYPE y el miembro AceSize debe establecerse en el número total de bytes asignados para la estructura de ACCESS_ALLOWED_ACE .

Mask

Especifica una estructura ACCESS_MASK que especifica los derechos de acceso concedidos por esta ACE.

SidStart

Primera DWORD del SID de un administrador. Los bytes restantes del SID se almacenan en memoria contigua después del miembro SidStart . Este SID se puede anexar con los datos de la aplicación.

Comentarios

Las estructuras ACE deben alinearse en los límites de DWORD . Todas las funciones de administración de memoria de Windows devuelven identificadores alineados con DWORD a la memoria.

Los derechos de acceso especificados por el miembro Mask se conceden a cualquier administrador que posea un SID habilitado que coincida con el SID almacenado en el miembro SidStart .

Una estructura de ACCESS_ALLOWED_ACE se puede crear en una lista de control de acceso (ACL) mediante una llamada a la función AddAccessAllowedAce o AddAccessAllowedAceEx . Cuando se usan estas funciones, se asigna la cantidad correcta de memoria necesaria para acomodar el SID del administrador de confianza y los valores de los miembros Header.AceType y Header.AceSize se establecen automáticamente. Si se usa la función AddAccessAllowedAceEx , también se establece el miembro Header.AceFlags . Cuando se crea una estructura de ACCESS_ALLOWED_ACE fuera de una ACL, se debe asignar suficiente memoria para alojar el SID completo del administrador en el miembro SidStart y la memoria contigua que lo sigue, y los valores de los miembros Header.AceFlags, Header.AceFlags y Header.AceSize deben establecerse explícitamente por la aplicación.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winnt.h (incluye Windows.h)

Consulte también

AS

ACL

AddAccessAllowedAce

AddAce

GetAce

SID