Compartilhar via


Função RtlAddAccessAllowedAce (ntifs.h)

A rotina RtlAddAccessAllowedAce adiciona uma ACE (entrada de controle de acesso) permitida pelo acesso a uma ACL (lista de controle de acesso). O acesso é concedido ao SID (identificador de segurança) especificado.

Sintaxe

NTSYSAPI NTSTATUS RtlAddAccessAllowedAce(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Parâmetros

[in, out] Acl

Ponteiro para um buffer alocado pelo chamador que contém a ACL a ser modificada. RtlAddAccessAllowedAce adiciona uma ACE com permissão de acesso ao final dessa ACL. A ACE está na forma de uma estrutura ACCESS_ALLOWED_ACE.

[in] AceRevision

Nível de revisão de ACL do ACE a ser adicionado. As exigências de versão do Windows são as seguintes:

Valor Significado
ACL_REVISION
O nível de revisão válido em todas as versões do Windows.
ACL_REVISION_DS
O nível de revisão válido a partir do Windows 2000.
ObservaçãoAceRevision deverá ser ACL_REVISION_DS se a ACL na Acl contiver uma ACE específica do objeto.
 

[in] AccessMask

Bitmask de um ou mais sinalizadores ACCESS_MASK especificando os direitos de acesso a serem concedidos ao SID especificado. Para obter mais informações, consulte a descrição do parâmetro DesiredAccess de ZwCreateFile.

[in] Sid

Ponteiro para a estrutura SID que representa uma conta de usuário, grupo ou logon que está recebendo acesso.

Retornar valor

RtlAddAccessAllowedAce pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_SUCCESS
O ACE foi adicionado com êxito.
STATUS_ALLOTTED_SPACE_EXCEEDED
Uma nova ACE não se encaixa na ACL. Um buffer de ACL maior é necessário. Consulte RtlCreateAcl para obter informações sobre como calcular o tamanho de uma ACL.
STATUS_INVALID_ACL
A ACL especificada não está formada corretamente.
STATUS_INVALID_SID
A estrutura SID especificada não é estruturalmente válida.
STATUS_REVISION_MISMATCH
A revisão especificada não é conhecida ou não é compatível com a da ACL.

Comentários

Para obter mais informações sobre segurança e controle de acesso, consulte Modelo de segurança do Windows para desenvolvedores de driver e a documentação sobre esses tópicos no SDK do Windows.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Confira também

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile