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