CSecurityDesc::SetDacl
Imposta le informazioni in un elenco di controllo di accesso discrezionale (DACL). Se un DACL è già presente nel descrittore di sicurezza, viene sostituito.
inline void SetDacl(
bool bPresent = true,
bool bDefaulted = false
) throw(...);
inline void SetDacl(
const CDacl & Dacl,
bool bDefaulted = false
) throw(...);
Parametri
DACL
Riferimento a un oggetto CDacl che specifica il DACL per il descrittore di sicurezza. Questo parametro non deve essere NULL. Per impostare un DACL NULL nel descrittore di sicurezza, il primo form del metodo deve essere utilizzato con bPresent impostato su false.bPresent
Specifica un flag che indica la presenza di un DACL del descrittore di sicurezza. Se questo parametro è true, il metodo imposta il flag di SE_DACL_PRESENT nella struttura SECURITY_DESCRIPTOR_CONTROL e utilizza i valori dei parametri bDefaulted e di DACL . Se è false, il metodo rimuove il flag di SE_DACL_PRESENT e bDefaulted viene ignorato.bDefaulted
Specifica un flag che indica l'origine del DACL. Se questo flag è true, il DACL è stato recuperato da un meccanismo predefinito. Se false, il DACL è stato specificato in modo esplicito da un utente. Il metodo inserisce questo valore nel flag di SE_DACL_DEFAULTED della struttura SECURITY_DESCRIPTOR_CONTROL. Se questo parametro non viene specificato, il flag di SE_DACL_DEFAULTED viene cancellato.
Valore restituito
Restituisce true se l'operazione ha esito positivo, false in caso di esito negativo.
Note
Esiste una differenza fondamentale tra un DACL vuoto e non esistente. Quando un DACL è vuoto, non contiene voci di controllo di accesso e nessun diritto di accedere in modo esplicito è stata concessa. Di conseguenza, l'accesso all'oggetto in modo implicito negato. Quando un oggetto non ha DACL, invece, non sicurezza viene assegnata all'oggetto e tutte le richieste di accesso è consentita.
Requisiti
Header: atlsecurity.h