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 por 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 por chamador que recebe um descritor de segurança em formato auto-relativo.
[in, out] BufferLength
Ponteiro para uma variável alocada por 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.
Valor de retorno
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 em 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. |
Observações
Um descritor de segurança em formato absoluto contém ponteiros para as informações que ele contém, em vez de conter as informações em si. Um descritor de segurança em formato auto-relativo contém as informações em um bloco contíguo de memória. Em um descritor de segurança auto-relativo, uma estrutura de 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 descritor de segurança deve ser armazenado em um disco ou transmitido 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 |
---|---|
de cliente com suporte mínimo | Windows Server 2003 SP1 |
da Plataforma de Destino | Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuário) |
IRQL | <= APC_LEVEL |