CSecurityDesc::SetDacl
Задает информацию в список управления доступом на уровне пользователей (DACL). Если список управления доступом на уровне пользователей уже присутствует в дескрипторе безопасности, оно заменено.
inline void SetDacl(
bool bPresent = true,
bool bDefaulted = false
) throw(...);
inline void SetDacl(
const CDacl & Dacl,
bool bDefaulted = false
) throw(...);
Параметры
Dacl
Ссылка на значение, указывающее CDacl DACL для дескриптора безопасности. Этот параметр не должен иметь значение null. Чтобы установить НУЛЕВОЙ DACL в дескрипторе безопасности, первая форма метода следует использовать с bPresent присвойте значение false.bPresent
Определяет пометить указывающее наличие DACL в дескрипторе безопасности. Если этот параметр имеет значение true, то метод устанавливает пометить SE_DACL_PRESENT в структуре SECURITY_DESCRIPTOR_CONTROL и использует значения в параметрах Dacl и bDefaulted. Если он равен false, то метод очищает пометить SE_DACL_PRESENT и bDefaulted игнорирован.bDefaulted
Определяет пометить, указывающий источник DACL. Если пометить значение true, то этот список DACL было восстановлено некоторым неисправным механизмом. Если false, DACL явно указано пользователем. Метод сохраняет это значение во флаге SE_DACL_DEFAULTED структуры SECURITY_DESCRIPTOR_CONTROL. Если этот параметр не указан, то пометить SE_DACL_DEFAULTED очистки.
Возвращаемое значение
Возвращает значение true, если операция выполнена успешно; в противном случае — значение false.
Заметки
Важное различие между пустым и на несуществующую DACL. Если список управления доступом на уровне пользователей пуст, он не содержит элементов управления доступом и правами доступа явно не были предоставлены. В результате доступ к объекту явно отключить. Если объект не имеет DACL, с другой стороны, защита не присвоена к объекту, и любой запрос предоставление доступа.
Требования
Header: atlsecurity.h