Compartilhar via


estrutura EXPLICIT_ACCESS_A (accctrl.h)

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

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 lista de controle de acesso discricionário (DACL), esse sinalizador indica se a ACL permite ou nega os direitos de acesso especificados. Para uma lista de controle de acesso do sistema (SACL), 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 AceFlags membro 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
Herda, mas não se propaga.
INHERIT_ONLY
Herdar somente.
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
Tanto os contêineres quanto 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.

Observações

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
cabeçalho accctrl.h

Consulte também

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

acl

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

do TRUSTEE