Функция 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. Ниже приведены возможные значения ошибок.
Код возврата | Описание |
---|---|
|
Новый ACE не помещается в список ACL. Требуется больший буфер ACL. |
|
Указанный список ACL неправильно сформирован. |
|
Указанный идентификатор безопасности не является структурно допустимым. |
|
Указанная редакция не известна или несовместима с редакцией ACL. |
|
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 |