Compartilhar 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