Функция SetFileSecurityW (securitybaseapi.h)
Функция SetFileSecurity задает безопасность объекта файла или каталога.
Эта функция является устаревшей. Вместо этого используйте функцию SetNamedSecurityInfo .
Синтаксис
BOOL SetFileSecurityW(
[in] LPCWSTR 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 | securitybaseapi.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
GetFileSecurity
Низкоуровневые контроль доступа
Функции контроль доступа низкого уровня
SECURITY_DESCRIPTOR
SECURITY_INFORMATION
SetKernelObjectSecurity
SetNamedSecurityInfoSetPrivateObjectSecurity
SetUserObjectSecurity