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


Функция 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 добавляет доступ к концу этого ACL. ACE находится в виде ACCESS_ALLOWED_ACE структуры.

[in] AceRevision

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

[in] AceFlags

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

[in] AccessMask

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

[in] 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 Указанная структура безопасности не является структурно допустимой.
STATUS_REVISION_MISMATCH Указанный AceRevision не известен или несовместим с ACL.

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Всеобщий
заголовка ntifs.h (include 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