Поделиться через


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

Функция AddMandatoryAce добавляет запись управления доступомSYSTEM_MANDATORY_LABEL_ACE (ACE) в указанный системный список управления доступом (SACL).

Синтаксис

BOOL AddMandatoryAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD MandatoryPolicy,
  [in]      PSID  pLabelSid
);

Параметры

[in, out] pAcl

Указатель на SACL. Эта функция добавляет обязательный ACE в конец этого SACL. ACE находится в виде SYSTEM_MANDATORY_LABEL_ACE структуры.

[in] dwAceRevision

Уровень редакции измененного saCL. Это значение может быть одним из следующих значений.

Ценность Meaning
ACL_REVISION
SACL не содержит определенные объекты ACEs.
ACL_REVISION_DS
SACL содержит указанные объектом acEs.

[in] AceFlags

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

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

Ценность Meaning
OBJECT_INHERIT_ACE
0x1
ACE наследуется объектами noncontainer.
CONTAINER_INHERIT_ACE
0x2
ACE наследуется объектами контейнера.
NO_PROPAGATE_INHERIT_ACE
0x4
OBJECT_INHERIT_ACE и CONTAINER_INHERIT_ACE биты не распространяются на унаследованный ACE.
INHERIT_ONLY_ACE
0x8
ACE не применяется к объекту, к которому назначается SACL, но ACE может наследоваться дочерними объектами.
INHERITED_ACE
0x10
ACE наследуется. Операции, изменяющие безопасность в дереве объектов, могут изменять унаследованные службы управления доступом, не изменяя acEs, которые были непосредственно применены к объекту.

[in] MandatoryPolicy

Политика доступа для субъектов с обязательным уровнем целостности ниже, чем объект, связанный с SACL, который содержит этот ACE.

Ценность Meaning
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Субъект с более низким обязательным уровнем, чем объект не может записывать в объект.
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Субъект с более низким обязательным уровнем, чем объект не может считывать объект.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Субъект с более низким обязательным уровнем, чем объект не может выполнить объект.

[in] pLabelSid

Указатель на идентификатор безопасности, указывающий обязательный уровень целостности объекта, связанного с добавляемой учетной записью SACL.

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

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

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

Возврат кода или значения Description
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
Новый ACE не помещается в буфер pAcl .

Замечания

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
Header securitybaseapi.h (include WinBase.h)
Library Advapi32.lib
DLL Advapi32.dll

См. также

SYSTEM_MANDATORY_LABEL_ACE