Compartilhar via


Função AddResourceAttributeAce (securitybaseapi.h)

A função AddResourceAttributeAce adiciona uma ACE ( de entrada de controle de acesso) SYSTEM_RESOURCE_ATTRIBUTE_ACEao final de um SACL () de lista de controle de acesso do sistema . Uma estrutura SYSTEM_RESOURCE_ATTRIBUTE_ACE especifica um nome de atributo e uma lista ordenada por valor de elementos associados a um recurso e potencialmente usados durante as verificações de acesso. O conjunto de direitos de acesso padrão é definido no tópico Standard Access Rights.

Sintaxe

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Parâmetros

[in, out] pAcl

Um ponteiro para uma ACL (lista de controle de acesso) . Essa função adiciona um ACE a essa ACL. O valor desse parâmetro não pode ser NULL. O ACE está na forma de uma estrutura SYSTEM_RESOURCE_ATTRIBUTE_ACE.

[in] dwAceRevision

Especifica o nível de revisão da ACL que está sendo modificada. Esse valor pode ser ACL_REVISION ou ACL_REVISION_DS. Use ACL_REVISION_DS se a ACL contiver ACEs específicas do objeto.

[in] AceFlags

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

Para obter consistência com a interface do usuário de permissões de arquivo avançadas do Windows 8, os aplicativos devem especificar os sinalizadores CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE no parâmetro aceFlags do .

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

Valor Significado
CONTAINER_INHERIT_ACE
2 (0x2)
O ACE é herdado pelos objetos de contêiner.
INHERIT_ONLY_ACE
8 (0x8)
O ACE não se aplica ao objeto ao qual o ACE é atribuído, mas pode ser herdado por objetos filho.
INHERITED_ACE
16 (0x10)
Indica um ACE herdado. Esse sinalizador permite que operações que alterem a segurança em uma árvore de objetos modifiquem ACEs herdadas, sem alterar ACEs que foram diretamente aplicadas ao objeto.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Os bits OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE não são propagados para um ACE herdado.
OBJECT_INHERIT_ACE
1 (0x1)
O ACE é herdado por objetos não contêineres.

[in] AccessMask

Deve ser zero para Windows 8 e Windows Server 2012.

[in] pSid

Deve ser o SID de Todos (S-1-1-0) para Windows 8 e Windows Server 2012.

[in] pAttributeInfo

Especifica as informações de atributo que serão acrescentadas após o SID no ACE.

[out] pReturnLength

O tamanho, em bytes, do buffer de ACL real usado. Se o buffer especificado pelo parâmetro pAcl não for grande o suficiente, o valor desse parâmetro será o tamanho total necessário para o buffer de ACL.

Valor de retorno

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

Se a função falhar, ela retornará FALSE . Para obter informações de erro estendidas, chame GetLastError.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8 [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2012 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho securitybaseapi.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

de Direitos de Acesso Padrão