Функция 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 содержит определенные объекты ACEs.

[in] AceFlags

Набор битовых флагов, управляющих наследованием ACE. Функция задает эти флаги в AceFlags член ACE_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. Этот флаг позволяет операциям, изменяющим безопасность в дереве объектов, изменять унаследованные acES, не изменяя acES, которые были непосредственно применены к объекту.
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 [только классические приложения]
целевая платформа Виндоус
заголовка securitybaseapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

стандартных прав доступа