Функция SetFileSecurityA (winbase.h)
Функция SetFileSecurity задает безопасность объекта файла или каталога.
Эта функция является устаревшей. Вместо этого используйте функцию SetNamedSecurityInfo .
Синтаксис
BOOL SetFileSecurityA(
[in] LPCSTR lpFileName,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor
);
Параметры
[in] lpFileName
Указатель на строку, завершающуюся значением NULL, которая указывает файл или каталог, для которого задана безопасность. Обратите внимание, что безопасность, применяемая к каталогу, не наследуется его дочерними элементами.
[in] SecurityInformation
Задает структуру SECURITY_INFORMATION , которая определяет содержимое дескриптора безопасности , на который указывает параметр pSecurityDescriptor .
[in] pSecurityDescriptor
Указатель на структуру SECURITY_DESCRIPTOR .
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение.
Если функция завершается сбоем, она возвращает ноль. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Функция SetFileSecurity выполняется успешно, только если выполняются следующие условия:
- Если задан владелец объекта, вызывающий процесс должен иметь разрешение WRITE_OWNER или быть владельцем объекта.
- Если настраивается список управления доступом на уровне пользователей (DACL) объекта, вызывающий процесс должен иметь разрешение WRITE_DAC или быть владельцем объекта.
- Если устанавливается системный список управления доступом (SACL) объекта, для вызывающего процесса необходимо включить привилегию SE_SECURITY_NAME.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Низкоуровневые контроль доступа