Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма RtlAddAce добавляет одну или несколько записей управления доступом (ACEs) в указанный список управления доступом (ACL).
Синтаксис
NTSYSAPI NTSTATUS RtlAddAce(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ULONG StartingAceIndex,
[in] PVOID AceList,
[in] ULONG AceListLength
);
Параметры
[in, out] Acl
Указатель на список ACL для изменения. RtlAddAce добавляет указанные acES в этот ACL.
[in] AceRevision
Уровень редакции ACL добавляемого ACE. Требования к версии Windows приведены ниже.
| Ценность | Значение |
|---|---|
| ACL_REVISION | Допустимый уровень редакции для всех версий Windows. |
| ACL_REVISION_DS | Допустимый уровень редакции начиная с Windows 2000. |
AceRevision должен быть ACL_REVISION_DS, если ACL в Acl содержит объект ACE.
[in] StartingAceIndex
Указывает позицию в списке ACL, в которой необходимо добавить новые acES. Значение нуля вставляет acEs в начале списка. Значение MAXULONG добавляет acEs в конец списка.
[in] AceList
Указатель на буфер, содержащий список одного или нескольких ACL, добавляемых в указанный список ACL. AcEs в списке должны храниться непрерывно.
[in] AceListLength
Размер в байтах входного буфера, на который указывает параметр AceList.
Возвращаемое значение
RtlAddAce возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:
| Возвращаемый код | Описание |
|---|---|
| STATUS_BUFFER_TOO_SMALL | Новые ACL не вписываются в ACL. Требуется больший буфер ACL. STATUS_BUFFER_TOO_SMALL — это код ошибки. |
| STATUS_INVALID_PARAMETER | Одно из значений параметров было недопустимым. Возможные причины включают, что указанный список ACL недопустим или указанная редакция неизвестна, несовместима с редакциями в списке ACE или несовместима с редакцией ACL. STATUS_INVALID_PARAMETER — это код ошибки. |
Замечания
Сведения о вычислении размера ACL см. в разделе "Примечания" для RtlCreateAcl.
Чтобы получить указатель на ACE в ACL, используйте RtlGetAce.
Чтобы удалить ACE из ACL, используйте RtlDeleteAce.
Чтобы добавить доступ к ACL, используйте RtlAddAccessAllowedAce.
Дополнительные сведения о безопасности и управлении доступом см. в модели безопасности Windows для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows Server 2003 с пакетом обновления 1 (SP1) |
| целевая платформа | Всеобщий |
| заголовка | ntifs.h (include Ntifs.h) |
| библиотеки | NtosKrnl.lib |
| DLL | NtosKrnl.exe (режим ядра); Ntdll.dll (режим пользователя) |
| IRQL | <= APC_LEVEL |