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

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

Синтаксис

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

Параметры

[in, out] Acl

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

[in] AceRevision

Уровень редакции ACL добавляемого элемента управления. Ниже приведены запросы версий Windows.

Значение Значение
ACL_REVISION
Уровень редакции, допустимый во всех версиях Windows.
ACL_REVISION_DS
Допустимый уровень редакции, начиная с Windows 2000.
Примечание. AceRevision должен быть ACL_REVISION_DS, если ACL в ACL содержит ACE для конкретного объекта.
 

[in] AccessMask

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

[in] Sid

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

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

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

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

Комментарии

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

Требования

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

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

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile