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


Функция RtlAddAccessAllowedAceEx (ntifs.h)

Подпрограмма RtlAddAccessAllowedAceEx добавляет запись управления доступом (ACE ) с флагами наследования ACE в список управления доступом (ACL). Доступ предоставляется указанному идентификатору безопасности (SID).

Синтаксис

NTSYSAPI NTSTATUS RtlAddAccessAllowedAceEx(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ULONG       AceFlags,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Параметры

[in, out] Acl

Указатель на буфер, выделенный вызывающим объектом, который содержит список ACL для изменения. RtlAddAccessAllowedAceEx добавляет разрешенный доступ ACE в конец этого списка управления доступом. ACE имеет форму структуры ACCESS_ALLOWED_ACE .

[in] AceRevision

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

[in] AceFlags

Битовая маска, указывающая флаги наследования добавляемого ACE.

[in] AccessMask

Битовая маска одного или нескольких флагов ACCESS_MASK , которые указывают права доступа, предоставляемые указанному идентификатору безопасности. Дополнительные сведения см. в описании параметра DesiredAccessобъекта ZwCreateFile.

[in] Sid

Указатель на структуру SID, представляющую пользователя, группу или учетную запись входа, которым предоставляется доступ.

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

RtlAddAccessAllowedAceEx может возвращать одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS ACE успешно добавлен.
STATUS_ALLOTTED_SPACE_EXCEEDED Новый ACE не помещается в ACL. Требуется больший буфер ACL. Дополнительные сведения о том, как вычислить размер ACL, см. в разделе RtlCreateAcl.
STATUS_INVALID_ACL Указанный список ACL неправильно сформирован.
STATUS_INVALID_PARAMETER Недопустимый параметр AceFlags.
STATUS_INVALID_SID Указанная структура SID не является структурно допустимой.
STATUS_REVISION_MISMATCH Указанный AceRevision неизвестен или несовместим с ACL.

Комментарии

В отличие от RtlAddAccessAllowedAce, эта подпрограмма задает флаги ACE наследования.

Дополнительные сведения о безопасности и управлении доступом см. в разделе Модель безопасности Windows для разработчиков драйверов и в документации по следующим темам в Windows SDK, например:

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h, FltKernel.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

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

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile