Функция AddScopedPolicyIDAce (securitybaseapi.h)

Функция AddScopedPolicyIDAce добавляет SYSTEM_SCOPED_POLICY_ID_ACEзапись управления доступом (ACE) в конец списка управления доступом системы (SACL). Структура SYSTEM_SCOPED_POLICY_ID_ACE определяет центральную политику доступа (CAP), которая будет связана с ресурсом и может использоваться во время проверок доступа. Набор стандартных прав доступа определяется в разделе Стандартные права доступа .

Синтаксис

BOOL AddScopedPolicyIDAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

Параметры

[in, out] pAcl

Указатель на список управления доступом (ACL). Эта функция добавляет ACE в этот список ACL. Значение этого параметра не может иметь значение NULL.

[in] dwAceRevision

Указывает уровень редакции изменяемого списка ACL. Это значение может быть ACL_REVISION или ACL_REVISION_DS. Используйте ACL_REVISION_DS, если ACL содержит ACL для конкретных объектов ACE.

[in] AceFlags

Набор битовых флагов, управляющих наследованием ACE. Функция задает эти флаги в элементе AceFlagsACE_HEADER структуры нового ACE.

Для согласованности с пользовательским интерфейсом Windows 8 Расширенные разрешения на файлы приложения должны указывать флаги CONTAINER_INHERIT_ACE и OBJECT_INHERIT_ACE в параметре AceFlags.

Этот параметр может быть сочетанием следующих значений.

Значение Значение
CONTAINER_INHERIT_ACE
2 (0x2)
ACE наследуется объектами контейнера.
INHERIT_ONLY_ACE
8 (0x8)
ACE не применяется к объекту, которому назначен ACE, но может быть унаследован дочерними объектами.
INHERITED_ACE
16 (0x10)
Указывает наследуемый элемент ACE. Этот флаг позволяет операциям, изменяющим безопасность в дереве объектов, изменять унаследованные ACE, не изменяя ACE, которые были непосредственно применены к объекту.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Биты OBJECT_INHERIT_ACE и CONTAINER_INHERIT_ACE не распространяются на унаследованный ACE.
OBJECT_INHERIT_ACE
1 (0x1)
ACE наследуется неконтейнерными объектами.

[in] AccessMask

Для Windows 8 и Windows Server 2012 должно быть равно нулю.

[in] pSid

Указатель на идентификатор безопасности (S-1-17-*), который определяет центральную политику доступа, связанную с ресурсом.

Возвращаемое значение

Если функция завершается успешно, она возвращает значение TRUE.

Если функция завершается сбоем, она возвращает значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header securitybaseapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Стандартные права доступа