Функция AddAccessDeniedAce (securitybaseapi.h)

Функция AddAccessDeniedAce добавляет запись управления доступом с запретом доступа (ACE) в список управления доступом (ACL). Доступ к указанному идентификатору безопасности (SID) запрещен.

Чтобы определить, может ли новый ACE наследоваться дочерними объектами, используйте функцию AddAccessDeniedAceEx .

Синтаксис

BOOL AddAccessDeniedAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

Параметры

[in, out] pAcl

Указатель на список ACL . Эта функция добавляет ACE с запретом доступа в конец этого списка управления доступом. ACE имеет форму структуры ACCESS_DENIED_ACE .

[in] dwAceRevision

Указывает уровень редакции изменяемого списка управления.

Это значение может быть ACL_REVISION или ACL_REVISION_DS. Используйте ACL_REVISION_DS, если список ACL содержит ACE для конкретных объектов.

[in] AccessMask

Указывает маску прав доступа, отказываемых указанному идентификатору безопасности.

[in] pSid

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

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Ниже приведены возможные значения ошибок.

Код возврата Описание
ERROR_ALLOTTED_SPACE_EXCEEDED
Новый ACE не помещается в список ACL. Требуется больший буфер ACL.
ERROR_INVALID_ACL
Указанный список ACL неправильно сформирован.
ERROR_INVALID_SID
Указанный идентификатор безопасности не является структурно допустимым.
ERROR_REVISION_MISMATCH
Указанная редакция не известна или несовместима с редакцией ACL.
ERROR_SUCCESS
ACE успешно добавлен.

Комментарии

Функции AddAccessAllowedAce и AddAccessDeniedAce добавляют новый ACE в конец списка ACE для ACL. Эти функции не размещают новый ACE автоматически в правильном каноническом порядке. Вызывающий объект отвечает за то, чтобы список управления доступом был в каноническом порядке путем добавления ACE в правильной последовательности.

Структура ACE_HEADER , помещенная в ACE функцией AddAccessDeniedAce , указывает тип и размер, но не предоставляет флагов ACE.

ACE, добавленный AddAccessDeniedAce , не наследуется.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header securitybaseapi.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

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

ACCESS_DENIED_ACE

ACE_HEADER

ACL

AddAccessAllowedAce

AddAccessDeniedAceEx

AddAce

AddAuditAccessAce

DeleteAce

GetAce

Низкоуровневые контроль доступа

Функции контроль доступа низкого уровня