Compartilhar via


Função GetSecurityDescriptorDacl (securitybaseapi.h)

A função GetSecurityDescriptorDacl recupera um ponteiro para a DACL ( lista de controle de acesso discricionário ) em um descritor de segurança especificado.

Sintaxe

BOOL GetSecurityDescriptorDacl(
  [in]  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [out] LPBOOL               lpbDaclPresent,
  [out] PACL                 *pDacl,
  [out] LPBOOL               lpbDaclDefaulted
);

Parâmetros

[in] pSecurityDescriptor

Um ponteiro para a estrutura SECURITY_DESCRIPTOR que contém a DACL. A função recupera um ponteiro para ela.

[out] lpbDaclPresent

Um ponteiro para um valor que indica a presença de uma DACL no descritor de segurança especificado. Se lpbDaclPresent for TRUE, o descritor de segurança conterá uma DACL e os parâmetros de saída restantes nessa função receberão valores válidos. Se lpbDaclPresent for FALSE, o descritor de segurança não conterá uma DACL e os parâmetros de saída restantes não receberão valores válidos.

Um valor true paralpbDaclPresent não significa que pDacl não é NULL. Ou seja, lpbDaclPresent pode ser TRUE enquanto pDacl é NULL, o que significa que uma DACL NULL está em vigor. Uma DACL NULL permite implicitamente todo o acesso a um objeto e não é igual a uma DACL vazia. Uma DACL vazia não permite acesso a um objeto . Para obter informações sobre como criar uma DACL adequada, consulte Criando uma DACL.

[out] pDacl

Um ponteiro para um ponteiro para uma ACL ( lista de controle de acesso ). Se houver uma DACL, a função definirá o ponteiro apontado por pDacl para o endereço da DACL do descritor de segurança. Se uma DACL não existir, nenhum valor será armazenado.

Se a função armazenar um valor NULL no ponteiro apontado por pDacl, o descritor de segurança terá uma DACL NULL . Uma DACL NULL permite implicitamente todo o acesso a um objeto .

Se um aplicativo espera uma DACL não NULL , mas encontra uma DACL NULL , o aplicativo deve falhar com segurança e não permitir o acesso.

[out] lpbDaclDefaulted

Um ponteiro para um sinalizador definido como o valor do sinalizador SE_DACL_DEFAULTED na estrutura SECURITY_DESCRIPTOR_CONTROL se houver uma DACL para o descritor de segurança. Se esse sinalizador for TRUE, a DACL foi recuperada por um mecanismo padrão; se FALSE, a DACL foi especificada explicitamente por um usuário.

Retornar valor

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

Se a função falhar, ela retornará zero. Para obter informações de erro estendidas, chame GetLastError.

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

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

Controle de Acesso de baixo nível

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

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl