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 permitida pelo acesso ao final desta ACL. O ACE está na forma de uma estrutura ACCESS_ALLOWED_ACE.

[in] AceRevision

Nível de revisão de ACL do ACE a ser adicionado. Os requisitos de versão do Windows são os 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ção AceRevision deve ser ACL_REVISION_DS se a ACL no acl contiver um ACE específico do objeto.
 

[in] AccessMask

Máscara de bits 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.

Valor de retorno

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
Um novo 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.

Observações

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
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Consulte também

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

acl

rtlCreateAcl

rtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

rtlLengthSecurityDescriptor

rtlSetDaclSecurityDescriptor

rtlSetOwnerSecurityDescriptor

rtlValidSecurityDescriptor

SID

seAssignSecurity

ZwCreateFile