Share via


Função AddMandatoryAce (securitybaseapi.h)

A função AddMandatoryAce adiciona uma ACE (entrada de controle de acesso) SYSTEM_MANDATORY_LABEL_ACE à SACL (lista de controle de acesso do sistema) especificada.

Sintaxe

BOOL AddMandatoryAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD MandatoryPolicy,
  [in]      PSID  pLabelSid
);

Parâmetros

[in, out] pAcl

Um ponteiro para um SACL. Essa função adiciona uma ACE obrigatória ao final dessa SACL. O ACE está na forma de uma estrutura SYSTEM_MANDATORY_LABEL_ACE .

[in] dwAceRevision

O nível de revisão do SACL que está sendo modificado. Esse valor pode ser um dos valores a seguir.

Valor Significado
ACL_REVISION
A SACL não contém ACEs específicas do objeto.
ACL_REVISION_DS
A SACL contém ACEs especificadas pelo objeto.

[in] AceFlags

Um conjunto de sinalizadores de bits que controlam a herança da ACE. Essa função define esses sinalizadores no membro AceFlags da estrutura ACE_HEADER do novo ACE.

Esse parâmetro pode ser uma combinação dos seguintes valores.

Valor Significado
OBJECT_INHERIT_ACE
0x1
O ACE é herdado por objetos não pertencentes a ele.
CONTAINER_INHERIT_ACE
0x2
O ACE é herdado por objetos de contêiner.
NO_PROPAGATE_INHERIT_ACE
0x4
Os bits OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE não são propagados para um ACE herdado.
INHERIT_ONLY_ACE
0x8
O ACE não se aplica ao objeto ao qual o SACL é atribuído, mas o ACE pode ser herdado por objetos filho.
INHERITED_ACE
0x10
O ACE é herdado. As operações que alteram a segurança em uma árvore de objetos podem modificar ACEs herdados sem alterar ACEs que foram aplicados diretamente ao objeto .

[in] MandatoryPolicy

A política de acesso para entidades de segurança com um nível de integridade obrigatório inferior ao objeto associado ao SACL que contém esse ACE.

Valor Significado
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Uma entidade de segurança com um nível obrigatório mais baixo do que o objeto não pode gravar no objeto.
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Uma entidade de segurança com um nível obrigatório mais baixo do que o objeto não pode ler o objeto.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Uma entidade de segurança com um nível obrigatório mais baixo do que o objeto não pode executar o objeto.

[in] pLabelSid

Um ponteiro para um SID que especifica o nível de integridade obrigatório do objeto associado ao SACL que está sendo acrescentado.

Retornar valor

Se a função for bem-sucedida, ela retornará TRUE.

Se a função falhar, ela retornará FALSE. Para obter informações de erro estendidas, chame GetLastError. Veja a seguir valores de erro possíveis.

Valor/código retornado Descrição
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
O novo ACE não se encaixa no buffer pAcl .

Comentários

Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho securitybaseapi.h (inclua WinBase.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

SYSTEM_MANDATORY_LABEL_ACE