Partilhar via


CSecurityDesc::SetDacl

Define informações em uma lista de controle de acesso discricionário (DACL). Se DACL já está presente no descritor de segurança, ele será substituído.

inline void SetDacl( 
   bool bPresent = true, 
   bool bDefaulted = false  
) throw(...); 
inline void SetDacl( 
   const CDacl & Dacl, 
   bool bDefaulted = false  
) throw(...);

Parâmetros

  • Dacl
    Referência a um objeto de CDacl que especifica DACL para o descritor de segurança. Este parâmetro não deve ser NULO. Para definir DACL NULO no descritor de segurança, o primeiro formulário do método deve ser usado com bPresent definido como false.

  • bPresent
    Especifica um sinalizador que indica a presença de DACL no descritor de segurança. Se o parâmetro for verdadeira, o método define o parâmetro de SE_DACL_PRESENT na estrutura de SECURITY_DESCRIPTOR_CONTROL e usa os valores nos parâmetros de Dacl e de bDefaulted . Se for falsa, o método limpa o sinalizador de SE_DACL_PRESENT, e bDefaulted é ignorado.

  • bDefaulted
    Especifica um sinalizador que indica a fonte de DACL. Se este sinalizador é verdadeiro, DACL foi recuperado por algum mecanismo padrão. Se falso, DACL foi especificado explicitamente pelo usuário. O método armazenar esse valor no sinalizador de SE_DACL_DEFAULTED estrutura de SECURITY_DESCRIPTOR_CONTROL . Se este parâmetro não for especificado, o sinalizador de SE_DACL_DEFAULTED está desmarcada.

Valor de retorno

Retorna verdadeiros em êxito, falso em caso de falha.

Comentários

Há uma diferença importante entre DACL vazio e inexistente. Quando DACL está vazia, não contém qualquer entrada de controle de acesso e nenhum direito de acesso recebeu explicitamente. Como resultado, o acesso ao objeto é negado implicitamente. Quando um objeto não tem DACL, por outro lado, não há proteção é atribuído ao objeto, e qualquer solicitação de acesso é concedida.

Requisitos

Cabeçalho: atlsecurity.h

Consulte também

Referência

Classe de CSecurityDesc

SetSecurityDescriptorDacl

CSecurityDesc::SetControl

CSecurityDesc::SetGroup

CSecurityDesc::SetOwner

CSecurityDesc::SetSacl

CSecurityDesc::GetDacl