estrutura EXPLICIT_ACCESS_A (accctrl.h)

A estrutura EXPLICIT_ACCESS define informações de controle de acesso para um administrador especificado. Funções de controle de acesso, como SetEntriesInAcl e GetExplicitEntriesFromAcl, usam essa estrutura para descrever as informações em uma ACE ( entrada de controle de acesso) de uma ACL (lista de controle de acesso ).

Sintaxe

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

Membros

grfAccessPermissions

Um conjunto de sinalizadores de bits que usam o formato ACCESS_MASK para especificar os direitos de acesso que uma ACE permite, nega ou audita para o administrador. As funções que usam a estrutura EXPLICIT_ACCESS não convertem, interpretam ou validam os bits nessa máscara.

grfAccessMode

Um valor da enumeração ACCESS_MODE . Para uma DACL ( lista de controle de acesso discricionário ), esse sinalizador indica se a ACL permite ou nega os direitos de acesso especificados. Para uma SACL ( lista de controle de acesso do sistema ), esse sinalizador indica se a ACL gera mensagens de auditoria para tentativas bem-sucedidas de usar os direitos de acesso especificados ou tentativas com falha ou ambas. Ao modificar uma ACL existente, você pode especificar o sinalizador REVOKE_ACCESS para remover quaisquer ACEs existentes para o administrador especificado.

grfInheritance

Um conjunto de sinalizadores de bits que determina se outros contêineres ou objetos podem herdar o ACE do objeto primário ao qual a ACL está anexada. O valor desse membro corresponde à parte de herança (byte de baixa ordem) do membro AceFlags da estrutura ACE_HEADER . Esse parâmetro pode ser NO_INHERITANCE para indicar que o ACE não é herdável; ou pode ser uma combinação dos valores a seguir.

Valor Significado
CONTAINER_INHERIT_ACE
Outros contêineres contidos pelo objeto primário herdam o ACE.
INHERIT_NO_PROPAGATE
Herdar, mas não propagar.
INHERIT_ONLY
Somente herança.
INHERIT_ONLY_ACE
O ACE não se aplica ao objeto primário ao qual a ACL está anexada, mas os objetos contidos pelo objeto primário herdam o ACE.
NO_INHERITANCE
Não herda.
NO_PROPAGATE_INHERIT_ACE
Os sinalizadores OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE não são propagados para um ACE herdado.
OBJECT_INHERIT_ACE
Objetos não pertencentes ao objeto primário herdam o ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Os contêineres e os objetos não pertencentes ao objeto primário herdam o ACE. Esse sinalizador corresponde à combinação dos sinalizadores CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
Outros contêineres contidos pelo objeto primário herdam o ACE. Esse sinalizador corresponde ao sinalizador CONTAINER_INHERIT_ACE.
SUB_OBJECTS_ONLY_INHERIT
Objetos não pertencentes ao objeto primário herdam o ACE. Esse sinalizador corresponde ao sinalizador OBJECT_INHERIT_ACE.

Trustee

Uma estrutura TRUSTEE que identifica o usuário, o grupo ou o programa (como um serviço windows) ao qual o ACE se aplica.

Comentários

Observação

O cabeçalho accctrl.h define EXPLICIT_ACCESS_ como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

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 accctrl.h

Confira também

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

ADMINISTRADOR