Função RtlAddAce (ntifs.h)
A rotina RtlAddAce adiciona uma ou mais ACEs (entradas de controle de acesso) a uma ACL (lista de controle de acesso) especificada.
Sintaxe
NTSYSAPI NTSTATUS RtlAddAce(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ULONG StartingAceIndex,
[in] PVOID AceList,
[in] ULONG AceListLength
);
Parâmetros
[in, out] Acl
Ponteiro para a ACL a ser modificada. RtlAddAce adiciona os ACEs especificados a essa ACL.
[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. |
AceRevision deverá ser ACL_REVISION_DS se a ACL na Acl contiver um ACE específico do objeto.
[in] StartingAceIndex
Especifica a posição na lista de ACEs da ACL na qual adicionar novos ACEs. Um valor zero insere os ACEs no início da lista. Um valor de MAXULONG acrescenta os ACEs ao final da lista.
[in] AceList
Ponteiro para um buffer que contém uma lista de um ou mais ACEs a serem adicionados à ACL especificada. Os ACEs na lista devem ser armazenados contíguamente.
[in] AceListLength
Tamanho, em bytes, do buffer de entrada apontado pelo parâmetro AceList .
Retornar valor
RtlAddAce retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_BUFFER_TOO_SMALL | Os novos ACEs não se encaixam na ACL. Um buffer de ACL maior é necessário. STATUS_BUFFER_TOO_SMALL é um código de erro. |
STATUS_INVALID_PARAMETER | Um dos valores de parâmetro era inválido. Os possíveis motivos incluem que a ACL especificada é inválida ou a revisão especificada é desconhecida, não é compatível com revisões na lista ace ou não é compatível com a revisão da ACL. STATUS_INVALID_PARAMETER é um código de erro. |
Comentários
Para obter informações sobre como calcular o tamanho de uma ACL, consulte a seção Comentários da entrada de referência para RtlCreateAcl.
Para obter um ponteiro para um ACE em uma ACL, use RtlGetAce.
Para excluir um ACE de uma ACL, use RtlDeleteAce.
Para adicionar um ACE permitido pelo acesso a uma ACL, use RtlAddAccessAllowedAce.
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 |
---|---|
Cliente mínimo com suporte | Windows Server 2003 com SP1 |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuário) |
IRQL | <= APC_LEVEL |