Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция SetSecurityInfo задает указанные сведения о безопасности в дескрипторе безопасности указанного объекта. Вызывающий объект идентифицирует объект с помощью дескриптора.
Чтобы задать saCL объекта, вызывающий объект должен иметь включенную привилегию SE_SECURITY_NAME .
Синтаксис
DWORD SetSecurityInfo(
[in] HANDLE handle,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID psidOwner,
[in, optional] PSID psidGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl
);
Параметры
[in] handle
Дескриптор объекта , для которого необходимо задать сведения о безопасности.
[in] ObjectType
Член перечисления SE_OBJECT_TYPE , указывающий тип объекта, определяемого параметром handle .
[in] SecurityInfo
Набор битовых флагов, указывающих тип устанавливаемых сведений о безопасности. Этот параметр может быть сочетанием SECURITY_INFORMATION битовых флагов.
[in, optional] psidOwner
Указатель на идентификатор безопасности, определяющий владельца объекта. Идентификатор безопасности должен быть идентификатором безопасности, который можно назначить в качестве идентификатора безопасности владельца дескриптора безопасности. Параметр SecurityInfo должен содержать флаг OWNER_SECURITY_INFORMATION. Если идентификатор безопасности владельца не задан, этот параметр может иметь значение NULL .
[in, optional] psidGroup
Указатель на идентификатор безопасности, идентифицирующий основную группу объекта. Параметр SecurityInfo должен содержать флаг GROUP_SECURITY_INFORMATION. Если идентификатор безопасности основной группы не задан, этот параметр может иметь значение NULL .
[in, optional] pDacl
Указатель на новый DACL для объекта . Этот параметр игнорируется, если только значение параметра SecurityInfo не содержит флаг DACL_SECURITY_INFORMATION . Если значение параметра SecurityInfo содержит флаг DACL_SECURITY_INFORMATION , а для этого параметра задано значение NULL, всем пользователям предоставляется полный доступ к объекту. Сведения о списках DACCL со значениями NULL см. в разделе Создание daCL.
[in, optional] pSacl
Указатель на новый saCL для объекта . Параметр SecurityInfo должен содержать любой из следующих флагов: SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION или BACKUP_SECURITY_INFORMATION. Если параметр SACL_SECURITY_INFORMATION или SCOPE_SECURITY_INFORMATION, вызывающий объект должен иметь разрешение SE_SECURITY_NAME. Этот параметр может иметь значение NULL , если вы не задаете saCL.
Возвращаемое значение
Если функция завершается успешно, функция возвращает ERROR_SUCCESS.
Если функция завершается сбоем, она возвращает ненулевой код ошибки, определенный в WinError.h.
Комментарии
При настройке списка управления доступом на уровне пользователей (DACL) или любых элементов в системном списке управления доступом (SACL) объекта система автоматически распространяет все наследуемые записи управления доступом (ACE) на существующие дочерние объекты в соответствии с правилами наследования ACE.
Функцию SetSecurityInfo можно использовать со следующими типами объектов:
- Локальные или удаленные файлы или каталоги в NTFS
- Именованные каналы
- Локальные или удаленные принтеры
- Локальные или удаленные службы Windows
- Сетевые общие папки
- Разделы реестра
- Семафоры, события, мьютексы и таймеры ожидания
- Процессы, потоки, задания и объекты сопоставления файлов
- Оконные станции и настольные компьютеры
- Объекты службы каталогов
Функция SetSecurityInfo не изменяет порядок ACE, разрешенных или запрещенных в доступе, в зависимости от предпочтительного порядка. При распространении наследуемых ACE на существующие дочерние объекты SetSecurityInfo помещает унаследованные ACE в порядок после всех ненаследуемых ACE в списках DACLs дочерних объектов.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | aclapi.h |
| Библиотека | Advapi32.lib |
| DLL | Advapi32.dll |