Функция AddConditionalAce (winbase.h)
Функция AddConditionalAce добавляет запись управления условным доступом (ACE) в указанный список управления доступом (ACL). Условный ACE указывает логическое условие, которое вычисляется во время проверок доступа.
Синтаксис
BOOL AddConditionalAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] UCHAR AceType,
[in] DWORD AccessMask,
[in] PSID pSid,
[in] PWCHAR ConditionStr,
[out] DWORD *ReturnLength
);
Параметры
[in, out] pAcl
Указатель на список ACL. Эта функция добавляет ACE в этот список ACL.
Значение этого параметра не может иметь значение NULL.
[in] dwAceRevision
Указывает уровень редакции изменяемого списка ACL. Это значение может быть ACL_REVISION или ACL_REVISION_DS. Используйте ACL_REVISION_DS, если ACL содержит ACL для конкретных объектов ACE.
[in] AceFlags
Набор битовых флагов, управляющих наследованием ACE. Функция задает эти флаги в элементе AceFlagsACE_HEADER структуры нового ACE. Этот параметр может быть сочетанием следующих значений.
[in] AceType
Тип ACE.
Это может быть одно из следующих значений.
Значение | Значение |
---|---|
|
ACE обратного вызова с разрешенным доступом, использующим структуру ACCESS_ALLOWED_CALLBACK_ACE . |
|
ACE обратного вызова с отказом в доступе, использующим структуру ACCESS_DENIED_CALLBACK_ACE . |
|
ACE обратного вызова аудита системы, использующий структуру SYSTEM_AUDIT_CALLBACK_ACE . |
[in] AccessMask
Указывает маску прав доступа, предоставляемых указанному идентификатору безопасности.
[in] pSid
Указатель на идентификатор безопасности, представляющий доступ к учетной записи пользователя, группы или учетной записи для входа.
[in] ConditionStr
Строка, указывающая условный оператор, который будет вычисляться для ACE.
[out] ReturnLength
Размер списка ACL в байтах. Если буфер, заданный параметром pACL , не имеет достаточного размера, значение этого параметра является обязательным.
Возвращаемое значение
Если функция завершается успешно, она возвращает значение TRUE.
Если функция завершается сбоем, она возвращает значение FALSE. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError. Ниже приведены возможные значения ошибок.
Код возврата | Описание |
---|---|
|
Новый ACE не помещается в буфер pACL . |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |