Função RtlAbsoluteToSelfRelativeSD (ntifs.h)

A rotina RtlAbsoluteToSelfRelativeSD cria um novo descritor de segurança em formato auto-relativo usando um descritor de segurança em formato absoluto como modelo.

Sintaxe

NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
  [in]      PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
  [out]     PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
  [in, out] PULONG               BufferLength
);

Parâmetros

[in] AbsoluteSecurityDescriptor

Ponteiro para um buffer alocado pelo chamador que contém uma estrutura SECURITY_DESCRIPTOR em formato absoluto. RtlAbsoluteToSelfRelativeSD cria uma versão desse descritor de segurança em formato auto-relativo sem modificar o original.

[out] SelfRelativeSecurityDescriptor

Ponteiro para um buffer alocado pelo chamador que recebe um descritor de segurança em formato auto-relativo.

[in, out] BufferLength

Ponteiro para uma variável alocada pelo chamador que especifica o tamanho, em bytes, do buffer apontado pelo parâmetro SelfRelativeSecurityDescriptor . Se o buffer não for grande o suficiente para manter o descritor de segurança, RtlAbsoluteToSelfRelativeSD retornará STATUS_BUFFER_TOO_SMALL e definirá essa variável para o tamanho mínimo necessário.

Retornar valor

RtlAbsoluteToSelfRelativeSD retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_BAD_DESCRIPTOR_FORMAT
O buffer apontado pelo parâmetro AbsoluteSecurityDescriptor não continha uma estrutura SECURITY_DESCRIPTOR no formato absoluto. STATUS_BAD_DESCRIPTOR_FORMAT é um código de erro.
STATUS_BUFFER_TOO_SMALL
O buffer apontado pelo parâmetro SelfRelativeSecurityDescriptor era muito pequeno para conter o descritor de segurança no formato auto-relativo. STATUS_BUFFER_TOO_SMALL é um código de erro.

Comentários

Um descritor de segurança em formato absoluto contém ponteiros para as informações presentes nele em vez das informações em si. Um descritor de segurança em formato autorrelativo contém as informações em um bloco de memória contíguo. Em um descritor de segurança auto-relativo, uma estrutura SECURITY_DESCRIPTOR sempre inicia as informações, mas os outros componentes do descritor de segurança podem seguir a estrutura SECURITY_DESCRIPTOR em qualquer ordem. Em vez de usar endereços de memória, os componentes do descritor de segurança são identificados por deslocamentos desde o início do descritor de segurança. Esse formato é útil quando um for preciso armazenar um descritor de segurança em um disco ou transmiti-lo por meio de um protocolo de comunicação.

Para criar um descritor de segurança em formato absoluto usando um descritor de segurança no formato auto-relativo como modelo, use RtlSelfRelativeToAbsoluteSD.

Para obter mais informações sobre segurança e controle de acesso, consulte a documentação do SDK do Microsoft Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Server 2003 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

Confira também

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor