estrutura ACCESS_ALLOWED_ACE (winnt.h)

A estrutura ACCESS_ALLOWED_ACE define uma ACE (entrada de controle de acesso ) para a DACL ( lista de controle de acesso discricionário ) que controla o acesso a um objeto . Uma ACE permitida pelo acesso permite o acesso a um objeto para um objeto de confiança específico identificado por um SID ( identificador de segurança ).

Sintaxe

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

Membros

Header

ACE_HEADER estrutura que especifica o tamanho e o tipo de ACE. Ele também contém sinalizadores que controlam a herança da ACE por objetos filho. O membro AceType da estrutura ACE_HEADER deve ser definido como ACCESS_ALLOWED_ACE_TYPE e o membro AceSize deve ser definido como o número total de bytes alocados para a estrutura ACCESS_ALLOWED_ACE .

Mask

Especifica uma estrutura ACCESS_MASK que especifica os direitos de acesso concedidos por essa ACE.

SidStart

O primeiro DWORD do SID de um administrador. Os bytes restantes do SID são armazenados na memória contígua após o membro SidStart . Esse SID pode ser acrescentado com os dados do aplicativo.

Comentários

As estruturas ACE devem estar alinhadas nos limites do DWORD . Todas as funções de gerenciamento de memória do Windows retornam identificadores alinhados a DWORD à memória.

Os direitos de acesso especificados pelo membro Mask são concedidos a qualquer administrador que possua um SID habilitado que corresponda ao SID armazenado no membro SidStart .

Uma estrutura ACCESS_ALLOWED_ACE pode ser criada em uma ACL (lista de controle de acesso ) por uma chamada para a função AddAccessAllowedAce ou AddAccessAllowedAceEx . Quando essas funções são usadas, a quantidade correta de memória necessária para acomodar o SID do administrador é alocada e os valores dos membros Header.AceType e Header.AceSize são definidos automaticamente. Se a função AddAccessAllowedAceEx for usada, o membro Header.AceFlags também será definido. Quando uma estrutura ACCESS_ALLOWED_ACE é criada fora de uma ACL, memória suficiente deve ser alocada para acomodar o SID completo do objeto de confiança no membro SidStart e a memória contígua que a segue, e os valores dos membros Header.AceType, Header.AceFlags e Header.AceSize devem ser definidos explicitamente pelo aplicativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winnt.h (inclua Windows.h)

Confira também

ACE

ACL

AddAccessAllowedAce

AddAce

GetAce

SID