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