Função GetPrivateObjectSecurity (securitybaseapi.h)

A função GetPrivateObjectSecurity recupera informações do descritor de segurança de um objeto privado.

Sintaxe

BOOL GetPrivateObjectSecurity(
  [in]            PSECURITY_DESCRIPTOR ObjectDescriptor,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
  [in]            DWORD                DescriptorLength,
  [out]           PDWORD               ReturnLength
);

Parâmetros

[in] ObjectDescriptor

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR . Este é o descritor de segurança a ser consultado.

[in] SecurityInformation

Um conjunto de sinalizadores de bits que indica as partes do descritor de segurança a ser recuperado. Esse parâmetro pode ser uma combinação dos sinalizadores de SECURITY_INFORMATION bits.

[out, optional] ResultantDescriptor

Um ponteiro para um buffer que recebe uma cópia das informações solicitadas do descritor de segurança especificado. A estrutura SECURITY_DESCRIPTOR é retornada no formato auto-relativo .

[in] DescriptorLength

Especifica o tamanho, em bytes, do buffer apontado pelo parâmetro ResultantDescriptor .

[out] ReturnLength

Um ponteiro para uma variável que a função definirá como zero se o descritor for copiado com êxito. Se o buffer for muito pequeno para o descritor de segurança, essa variável receberá o número de bytes necessários. Se o valor dessa variável for maior que o valor do parâmetro DescriptorLength quando a função retornar, a função retornará FALSE e nenhum descritor de segurança será copiado para o buffer.

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.

Comentários

Essa função destina-se apenas ao uso por gerenciadores de recursos. Para implementar a semântica de controle de acesso padrão para atualizar descritores de segurança, um gerenciador de recursos deve verificar se as seguintes condições foram atendidas antes de chamar GetPrivateObjectSecurity:

  • Se o proprietário do objeto estiver sendo definido, o processo de chamada deverá ter WRITE_OWNER permissão ou ser o proprietário do objeto.
  • Se a lista de controle de acesso discricionário do objeto estiver sendo definida, o processo de chamada deverá ter WRITE_DAC permissão ou ser o proprietário do objeto.
  • Se a lista de controle de acesso do sistema do objeto estiver sendo definida, o privilégio SE_SECURITY_NAME deverá ser habilitado para o processo de chamada.
Se as condições anteriores não forem atendidas, uma chamada para essa função não falhará, no entanto, a política de acesso padrão não será imposta.

Requisitos

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

Confira também

Funções de Controle de Acesso cliente/servidor

Visão geral do Controle de Acesso cliente/servidor

CreatePrivateObjectSecurity

DestroyPrivateObjectSecurity

GetFileSecurity

GetKernelObjectSecurity

GetUserObjectSecurity

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetPrivateObjectSecurity