CSecurityDesc::SetDacl
Ustawia informacje o liście arbitralnej kontroli dostępu (DACL).Jeśli lista DACL jest już obecny w deskryptorze zabezpieczeń, zostanie zastąpiona.
inline void SetDacl(
bool bPresent = true,
bool bDefaulted = false
) throw(...);
inline void SetDacl(
const CDacl & Dacl,
bool bDefaulted = false
) throw(...);
Parametry
Lista DACL
Odniesienie do CDacl określające DACL dla deskryptora zabezpieczeń obiektu.Ten parametr nie może być NULL.Aby ustawić DACL ZEROWY deskryptor zabezpieczeń, należy używać pierwszego formularza metody z bPresent wartość false.bPresent
Określa flagi wskazujące na obecność DACL w deskryptorze zabezpieczeń.Jeśli ten parametr ma wartość true, metoda ustawia flagę SE_DACL_PRESENT SECURITY_DESCRIPTOR_CONTROL struktury i używa wartości w Dacl i bDefaulted parametry.Jeśli FAŁSZ, metoda czyści flagi SE_DACL_PRESENT i bDefaulted jest ignorowana.bDefaulted
Określa flagi wskazujące źródła DACL.Jeśli flaga ta ma wartość true, niektóre domyślnego mechanizmu pobraniu listy DACL.Jeśli FAŁSZ, listy DACL został jawnie określony przez użytkownika.Metoda przechowuje tę wartość w Flaga SE_DACL_DEFAULTED SECURITY_DESCRIPTOR_CONTROL struktury.Jeżeli nie określono tego parametru, Flaga SE_DACL_DEFAULTED jest wyczyszczone.
Wartość zwracana
Zwraca wartość true w przypadku powodzenia, false w przypadku niepowodzenia.
Uwagi
Istnieje istotna różnica między puste i nieistniejącej DACL.Gdy lista DACL jest pusta, zawiera żadnych wpisów kontroli dostępu i jawnie przyznano żadnych praw dostępu.W rezultacie niejawnie odmówiono dostępu do obiektu.Gdy obiekt nie ma żadnych DACL, z drugiej strony, ochrona nie jest przypisany do obiektu i każde żądanie dostępu jest przyznane.
Wymagania
Nagłówek: atlsecurity.h