A estrutura ACCESS_DENIED_CALLBACK_OBJECT_ACE define uma ace (entrada de controle de acesso) que controla o acesso negado a um objeto, um conjunto de propriedades ou uma propriedade. O ACE contém um conjunto de direitos de acesso, um GUID que identifica o tipo de objeto e um SID () identificador de segurança que identifica o a quem o sistema negará acesso. O ACE também contém um GUID e um conjunto de sinalizadores que controlam a herança do ACE por objetos filho.
Quando a função AuthzAccessCheck é chamada, cada estrutura ACCESS_DENIED_CALLBACK_OBJECT_ACE contida na DACL de uma estrutura de SECURITY_DESCRIPTOR passada por um ponteiro para a função AuthzAccessCheck de invoca uma chamada para a função de AuthzAccessCheckCallback definida pelo aplicativo, na qual um ponteiro para a estrutura ACCESS_DENIED_CALLBACK_OBJECT_ACE encontrada é passado no parâmetro p Ace.
Sintaxe
typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
Membros
Header
ACE_HEADER estrutura que especifica o tamanho e o tipo de ACE. Ele contém sinalizadores que controlam a herança do ACE por objetos filho. O membro AceType da estrutura ACE_HEADER deve ser definido como ACCESS_DENIED_CALLBACK_ACE_TYPE e o membro aceSize deve ser definido como o número total de bytes alocados para a estrutura de ACCESS_DENIED_CALLBACK_OBJECT_ACE.
Mask
Um ACCESS_MASK que especifica os direitos de acesso que o sistema negará ao administrador.
Flags
Um conjunto de sinalizadores de bits que indicam se os membros ObjectType e InheritedObjectType estão presentes. Esse parâmetro pode ser um ou mais dos valores a seguir.
| Valor |
Significado |
-
0
|
Nem ObjectType nem InheritedObjectType estão presentes. O membro do SidStart segue imediatamente após o membro do Flags.
|
-
ACE_OBJECT_TYPE_PRESENT
|
ObjectType está presente e contém um GUID .
Se esse valor não for especificado, o membro InheritedObjectType será seguido imediatamente após o membro do Flags.
|
-
ACE_INHERITED_OBJECT_TYPE_PRESENT
|
InheritedObjectType está presente e contém um guid .
Se esse valor não for especificado, todos os tipos de objetos filho poderão herdar o ACE.
|
ObjectType
Esse membro só existirá se o bit ACE_OBJECT_TYPE_PRESENT estiver definido no membro sinalizadores do . Caso contrário, o membro InheritedObjectType segue imediatamente após o membro sinalizadores do .
Se esse membro existir, será uma estrutura de GUID que identifica um conjunto de propriedades, uma propriedade, um direito estendido ou um tipo de objeto filho. A finalidade deste GUID depende dos direitos de acesso especificados no membro Mask.
| Valor |
Significado |
-
ADS_RIGHT_DS_CONTROL_ACCESS
|
O GUID ObjectType identifica um direito de acesso estendido.
|
-
ADS_RIGHT_DS_CREATE_CHILD
|
O GUIDObjectType identifica um tipo de objeto filho. A ACE controla o direito do administrador de criar esse tipo de objeto filho.
|
-
ADS_RIGHT_DS_READ_PROP
|
O ObjectTypeGUID identifica um conjunto de propriedades ou propriedade do objeto. A ACE controla o direito do administrador de ler a propriedade ou o conjunto de propriedades.
|
-
ADS_RIGHT_DS_WRITE_PROP
|
O ObjectTypeGUID identifica um conjunto de propriedades ou propriedade do objeto. A ACE controla o direito do administrador de gravar a propriedade ou o conjunto de propriedades.
|
-
ADS_RIGHT_DS_SELF
|
O GUIDObjectType identifica uma gravação validada.
|
InheritedObjectType
Esse membro só existirá se o bit ACE_INHERITED_OBJECT_TYPE_PRESENT estiver definido no membro sinalizadores do .
Se esse membro existir, será uma estrutura GUID que identifica o tipo de objeto filho que pode herdar o ACE. A herança também é controlada pelos sinalizadores de herança no ACE_HEADER, bem como por qualquer proteção contra a herança colocada nos objetos filho.
O deslocamento desse membro pode variar. Se o Flags membro não contiver o sinalizador ACE_OBJECT_TYPE_PRESENT, o membro InheritedObjectType será iniciado no deslocamento especificado pelo membro ObjectType .
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 do SidStart. Esse SID pode ser acrescentado aos dados do aplicativo.
Se nem o ObjectType nem InheritedObjectTypeGUID for especificado, a estrutura ACCESS_DENIED_CALLBACK_OBJECT_ACE terá a mesma semântica usada pela estrutura ACCESS_DENIED_CALLBACK_ACE. Nesse caso, use a estrutura ACCESS_DENIED_CALLBACK_ACE porque ela é menor e mais eficiente.
Uma ACL que contém um ACCESS_DENIED_CALLBACK_OBJECT_ACE deve especificar o número de revisão ACL_REVISION_DS em seu cabeçalho acl .
Os direitos de acesso especificados pelo membro do Mask são negados a qualquer de administrador que possua um SID habilitado que corresponda ao SID armazenado no membro sidstart .
Quando uma estrutura de ACCESS_DENIED_CALLBACK_OBJECT_ACE é criada, a memória suficiente deve ser alocada para acomodar as estruturas GUID no ObjectType e membros InheritedObjectType, se houver um ou ambos, bem como para acomodar o SID completo do administrador no membro SidStart e a memória contígua que a segue.
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 |
winnt.h (inclua Windows.h) |
Consulte também
ACE
acl
addAuditAccessObjectAce
guid do
SID