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