структура ACCESS_ALLOWED_OBJECT_ACE (winnt.h)
Структура ACCESS_ALLOWED_OBJECT_ACE определяет запись управления доступом (ACE), которая управляет доступом к объекту, набору свойств или свойству. ACE содержит набор прав доступа, идентификатор GUID
Синтаксис
typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
Члены
Header
ACE_HEADER структура, указывающая размер и тип ACE. Он также содержит флаги, управляющие наследованием ACE дочерними объектами. элемент AceType структуры ACE_HEADER должен иметь значение ACCESS_ALLOWED_OBJECT_ACE_TYPE, а элемент AceSize AceSize должен иметь общее количество байтов, выделенных для структуры ACCESS_ALLOWED_OBJECT_ACE.
Mask
ACCESS_MASK, указывающий права доступа, которые система позволит доверенному лицу .
Flags
Набор битовых флагов, указывающих, присутствуют ли элементы ObjectType
ObjectType
Этот элемент существует только в том случае, если ACE_OBJECT_TYPE_PRESENT бит установлен в элементе Flags. В противном случае элемент следуют
Если этот элемент существует, это структура guid
InheritedObjectType
Этот элемент существует только в том случае, если ACE_INHERITED_OBJECT_TYPE_PRESENT бит задан в элементе Flags.
Если этот элемент существует, это структура GUID GUID, которая определяет тип дочернего объекта, который может наследовать ACE. Наследование также контролируется флагами наследования в ACE_HEADER, а также любой защитой от наследования, размещенной на дочерних объектах.
Смещение этого элемента может отличаться. Если элемент флагов
SidStart
Указывает первый DWORD идентификатора безопасности, который идентифицирует доверенного лица, которым предоставляются права доступа. Оставшиеся байты идентификатора безопасности хранятся в непрерывной памяти после члена SidStart. Этот идентификатор безопасности можно добавить с данными приложения.
Смещение этого элемента может отличаться. Если элемент флагов равен нулю, элемент SidStart начинается с смещения, указанного элементом ObjectType. Если флагов
Замечания
Если ни ObjectType
ACL, содержащий ACCESS_ALLOWED_OBJECT_ACE, должен указать номер ACL_REVISION_DS редакции в заголовке ACL.
Права доступа, указанные членом маски
Структура ACCESS_ALLOWED_OBJECT_ACE можно создать в списке управления доступом (ACL) путем вызова функции AddAccessAllowedObjectAce. Если эта функция используется, правильное количество памяти, необходимое для размещения структур GUID в ObjectType и InheritedObjectType членов, если один или оба из них существуют, а также для размещения идентификатора безопасности доверенного лица автоматически выделяется. Кроме того, значения элементов Header.AceType и Header.AceSize задаются автоматически. При создании структуры ACCESS_ALLOWED_OBJECT_ACE за пределами ACL необходимо выделить достаточно памяти для размещения структур GUID в ObjectType и InheritedObjectType, если один или оба из них существуют, а также для размещения полного идентификатора безопасности доверенного лица в члене SidStart и непрерывной памяти после него. Кроме того, значения элементов Header.AceType и Header.AceSize должны быть явно заданы приложением.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
заголовка | winnt.h (включая Windows.h) |