Compartilhar via


Função MakeSelfRelativeSD (securitybaseapi.h)

A função MakeSelfRelativeSD cria um descritor de segurança em formato auto-relativo usando um descritor de segurança em formato absoluto como modelo.

Sintaxe

BOOL MakeSelfRelativeSD(
  [in]            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [in, out]       LPDWORD              lpdwBufferLength
);

Parâmetros

[in] pAbsoluteSecurityDescriptor

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR em formato absoluto. A função cria uma versão desse descritor de segurança no formato auto-relativo sem modificar o original.

[out, optional] pSelfRelativeSecurityDescriptor

Um ponteiro para um buffer que a função preenche com um descritor de segurança no formato auto-relativo.

[in, out] lpdwBufferLength

Um ponteiro para uma variável que especifica o tamanho do buffer apontado pelo parâmetro pSelfRelativeSD . Se o buffer não for grande o suficiente para o descritor de segurança, a função falhará e definirá essa variável para o tamanho mínimo necessário.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Valor/código retornado Descrição
ERROR_INSUFFICIENT_BUFFER
0x7A
Um ou mais buffers são muito pequenos.

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 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 disquete ou transmitido por meio de um protocolo de comunicação.

Um servidor que copia objetos protegidos para várias mídias pode usar a função MakeSelfRelativeSD para criar um descritor de segurança auto-relativo de um descritor de segurança absoluto e a função MakeAbsoluteSD para criar um descritor de segurança absoluto de um descritor de segurança auto-relativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho securitybaseapi.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Controle de Acesso de baixo nível

Funções de Controle de Acesso de baixo nível

MakeAbsoluteSD

SECURITY_DESCRIPTOR