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