На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

SetEntriesInAcl



[New - Windows NT]

The SetEntriesInAcl function creates a new access-control list (ACL) by merging new access-control or audit-control information into an existing ACL.

DWORD SetEntriesInAcl(

ULONG cCountOfExplicitEntries, // number of entries in the list
PEXPLICIT_ACCESS pListOfExplicitEntries, // pointer to list of entries with new access data
PACL OldAcl, // pointer to the original ACL
PACL * NewAcl // receives a pointer to the new ACL
);


Parameters

cCountOfExplicitEntries

Specifies the number of EXPLICIT_ACCESS structures in the pListOfExplicitEntries array.

pListOfExplicitEntries

Pointer to an array of EXPLICIT_ACCESS structures that describe the access control information to merge into the existing ACL.

OldAcl

Pointer to the existing ACL. This parameter can be NULL, in which case, the function creates a new ACL based on the EXPLICIT_ACCESS entries.

NewAcl

Pointer to a variable that receives a pointer to the new ACL. If the function succeeds, you must call the LocalFree function to free the returned buffer.



Return Values

If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in WINERROR.H.

Remarks

Each entry in the array of EXPLICIT_ACCESS structures specifies access-control or audit-control information for a specified trustee. A trustee can be a user, group, or other SID value, such as a logon identifier or logon type (for instance, a Windows NT service or batch job). You can use a name or a security identifier (
SID) to identify a trustee.
You can use the SetEntriesInAcl function to modify the list of ACEs in a DACL or a SACL. A DACL controls access to an object, and a SACL controls the system's auditing of attempts to access to an object. Note that SetEntriesInAcl does not prevent you from mixing access-control and audit-control information in the same ACL; however, the resulting ACL will contain meaningless entries.

For a DACL, the grfAccessMode member of the EXPLICIT_ACCESS structure specifies whether to allow, deny, or revoke access rights for the trustee. This member can specify one of the following values from the ACCESS_MODE enumeration.

Value Meaning
GRANT_ACCESS Creates a new access-allowed ACE that combines the specified rights with any existing rights of the trustee. The new ACE replaces any existing access-allowed ACE for the trustee. The function also modifies or deletes any existing access-denied ACE for the trustee that denies the specified rights.
SET_ACCESS Similar to GRANT_ACCESS except that the new access-allowed ACE allows only the specified rights, discarding any existing rights. This flag also removes any existing access-denied ACE for the trustee.
DENY_ACCESS Creates a new access-denied ACE that replaces any existing access-denied ACE for the trustee. The new ACE denies the specified rights in addition to any currently denied rights of the trustee. The function also modifies or deletes any existing access-allowed ACE for the trustee that allows the specified rights.
REVOKE_ACCESS Removes any existing ACEs for the specified trustee. The function ignores the rights specified in the grfAccessPermissions member of the EXPLICIT_ACCESS structure.


The SetEntriesInAcl function places any new access-denied ACEs at the beginning of the list of ACEs for the new ACL. It places any new access-allowed ACEs just before any existing access-allowed ACEs.
For a SACL, the grfAccessMode member of the EXPLICIT_ACCESS structure can specify the following values.

Value Meaning
REVOKE_ACCESS Removes any existing ACEs for the specified trustee. The function ignores the rights specified in the grfAccessPermissions member of the EXPLICIT_ACCESS structure.
SET_AUDIT_SUCCESS Creates a new system-audit ACE that replaces any existing system-audit ACE for the trustee. The new ACE generates audit messages when the specified trustee successfully uses the specified access rights. The new ACE combines the specified rights with any existing audited access rights for the trustee. You can combine this value with SET_AUDIT_FAILURE.
SET_AUDIT_FAILURE Creates a new system-audit ACE that replaces any existing system-audit ACE for the trustee. The new ACE generates audit messages for failed attempts to use the specified access rights. The new ACE combines the specified rights with any existing audited access rights for the trustee. You can combine this value with SET_AUDIT_SUCCESS.


The SetEntriesInAcl function places any new system-audit ACEs at the beginning of the list of ACEs for the new ACL.

See Also

ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, ACL, EXPLICIT_ACCESS, LocalFree, SYSTEM_AUDIT_ACE


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

SetEntriesInAcl



[Новый - Windows NT]

Функция SetEntriesInAcl создает новый иметь доступ к-управляющему списку (ACL) объединяя новый доступ-управление или проверять-управляющую информацию в существующий ACL.

DWORD SetEntriesInAcl(

ULONG cCountOfExplicitEntries, // НОМЕР данных в списке PEXPLICIT_ACCESS pListOfExplicitEntries, // указателе в список данных с новыми данными доступа PACL OldAcl, // указателя в подлинник ACL PACL * приемники NewAcl // указатель на новый ACL
);


Параметры

cCountOfExplicitEntries

Определяет число структур EXPLICIT_ACCESS в массиве pListOfExplicitEntries.

pListOfExplicitEntries

Указатель в массив структур EXPLICIT_ACCESS, который описывает управляющую информацию доступа, чтобы объединяться в существующий ACL.

OldAcl

Указатель на существующий ACL. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН, в этом случае, функция создает новый ACL основанное в данных EXPLICIT_ACCESS.

NewAcl

Указатель в переменную, которая получает указатель на новый ACL. Если функция добивается успеха, Вы должны назвать функцию LocalFree, чтобы освобождать возвращанный буфер.



Обратные Величины

Если функция добивается успеха, обратная величина - ERROR_SUCCESS.
Если функция терпит неудачу, обратная величина является ненулевым кодом ошибки определенным в WINERROR.H.

Замечания

Каждый вход в массиве структур EXPLICIT_ACCESS определяет доступ-управление или проверять-управляющую информацию для определенного попечителя. Попечитель может быть пользователем, группой, или другой величиной SID, как например, идентификатор ввода или типа ввода (например, услуга Windows NT или пакетная работа). Вы можете использовать имя или идентификатор безопасности ( SID), чтобы идентифицировать попечителя.
Вы можете использовать функцию SetEntriesInAcl, чтобы модифицировать список ПЕР.ТОК в DACL или SACL. DACL Регулирует доступ к объекту, и SACL регулирует системную ревизию попыток, чтобы иметь доступ к объекту. Отметьте, что SetEntriesInAcl не предохраняет Вас от смешивания доступа-управление и проверять-управляющая информация в том же ACL; тем не менее, результирующий ACL будет содержать бессмысленные данные.

Для DACL, элемент grfAccessMode структуры EXPLICIT_ACCESS определяет допускать, запрещать, или отменять права доступа для попечителя. Этот элемент может определить одно из следующего величин из перечисления ACCESS_MODE.

Значение Величины
GRANT_ACCESS Создает нового допущенного АСА доступа, который объединяет определенные права с любыми существующими правами попечителя. Новый АС заменяет любого существующего допущенного АСА доступа для попечителя. Функция также модифицирует или удаляет любого существующего запрещенного АСА доступа для попечителя, который запрещит определенные права.
SET_ACCESS Подобный GRANT_ACCESS кроме того новый допущенный АС доступа допускает только определенные права, отвергающие любые существующие права. Этот флаг также удаляет любого существующего запрещенного АСА доступа для попечителя.
DENY_ACCESS Создает нового запрещенного АСА доступа, который заменяет любого существующего запрещенного АСА доступа для попечителя. Новый АС запрещит определенные права дополнительно к любым к настоящему времени запрещенным правам попечителя. Функция также модифицирует или удаляет любого существующего допущенного АСА доступа для попечителя, который допускает определенные права.
REVOKE_ACCESS Удаляет любой существующий ПЕР.ТОК для определенного попечителя. Функция игнорирует права определенные в элементе grfAccessPermissions структуры EXPLICIT_ACCESS.


Функция SetEntriesInAcl устанавливает любые новые запрещенные ПЕР.ТОКИ доступа в начале списка ПЕР.ТОК для нового ACL. Это устанавливает любой новый допущенный доступ ПЕР.ТОК точный перед любыми существующими допущенными АСАМИ доступа.
Для SACL, элемент grfAccessMode структуры EXPLICIT_ACCESS может определить следующее величин.

Значение Величины
REVOKE_ACCESS Удаляет любой существующий ПЕР.ТОК для определенного попечителя. Функция игнорирует права определенные в элементе grfAccessPermissions структуры EXPLICIT_ACCESS.
SET_AUDIT_SUCCESS Создает системную проверку нового АСА, которая заменяет любую системную проверку существующего АСА для попечителя. Новый АС генерирует сообщения проверки когда определенный попечитель успешно использует определенные права доступа. Новый АС объединяет определенные права с любыми существующими проверенными правами доступа для попечителя. Вы можете объединить эту величину с SET_AUDIT_FAILURE.
SET_AUDIT_FAILURE Создает системную проверку нового АСА, которая заменяет любую системную проверку существующего АСА для попечителя. Новый АС генерирует сообщения проверки для неудачных попыток, чтобы использовать определенные права доступа. Новый АС объединяет определенные права с любыми существующими проверенными правами доступа для попечителя. Вы можете объединить эту величину с SET_AUDIT_SUCCESS.


Функция SetEntriesInAcl устанавливает любую системную проверку новых ПЕР.ТОКОВ в начале списка ПЕР.ТОК для нового ACL.

Смотри Также

ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, ACL, EXPLICIT_ACCESS, LocalFree, SYSTEM_AUDIT_ACE


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz