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


структура ACCESS_ALLOWED_ACE (winnt.h)

Структура ACCESS_ALLOWED_ACE определяет запись управления доступом (ACE) для списка управления доступом (DACL), который управляет доступом к объекту. ACE, разрешенный доступ, разрешает доступ к объекту для определенного доверенного лица , определяемого идентификатором безопасности (SID).

Синтаксис

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

Члены

Header

ACE_HEADER структура, указывающая размер и тип ACE. Он также содержит флаги, управляющие наследованием ACE дочерними объектами. Элемент AceType структуры ACE_HEADER должен иметь значение ACCESS_ALLOWED_ACE_TYPE, а член AceSize — общее количество байтов, выделенных для структуры ACCESS_ALLOWED_ACE .

Mask

Указывает структуру ACCESS_MASK , указывающую права доступа, предоставляемые этим ACE.

SidStart

Первое DWORD идентификатора безопасности доверенного лица. Оставшиеся байты идентификатора безопасности хранятся в непрерывной памяти после элемента SidStart . Этот идентификатор безопасности можно добавить с данными приложения.

Комментарии

Структуры ACE должны быть выровнены по границам DWORD . Все функции управления памятью Windows возвращают в память дескрипторы, выровненные по DWORD.

Права доступа, указанные участником Mask , предоставляются любому доверенному лицу , обладающему включенным идентификатором безопасности, который соответствует идентификатору безопасности, хранящейся в элементе SidStart .

Структуру ACCESS_ALLOWED_ACE можно создать в списке управления доступом (ACL) путем вызова функции AddAccessAllowedAce или AddAccessAllowedAceEx . При использовании этих функций выделяется правильный объем памяти, необходимый для размещения идентификатора безопасности доверенного лица, а значения элементов Header.AceType и Header.AceSize задаются автоматически. Если используется функция AddAccessAllowedAceEx , также задается элемент Header.AceFlags . При создании структуры ACCESS_ALLOWED_ACE вне ACL необходимо выделить достаточно памяти для размещения полного идентификатора безопасности доверенного лица в члене SidStart и непрерывной памяти после него, а значения элементов Header.AceType, Header.AceFlags и Header.AceSize должны быть явно заданы приложением.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winnt.h (включая Windows.h)

См. также раздел

ACE

ACL

AddAccessAllowedAce

AddAce

GetAce

SID