Поделиться через


структура SI_OBJECT_INFO (aclui.h)

Структура SI_OBJECT_INFO используется методом ISecurityInformation::GetObjectInformation для указания сведений, используемых для инициализации редактора управления доступом.

Синтаксис

typedef struct _SI_OBJECT_INFO {
  DWORD     dwFlags;
  HINSTANCE hInstance;
  LPWSTR    pszServerName;
  LPWSTR    pszObjectName;
  LPWSTR    pszPageTitle;
  GUID      guidObjectType;
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;

Члены

dwFlags

Набор битовых флагов, определяющих параметры редактирования, доступные пользователю. Этот элемент может быть сочетанием следующих значений.

Значение Значение
SI_ADVANCED
0x00000010L
Если этот флаг установлен, на странице базовых свойств безопасности отображается кнопка Дополнительно . Если пользователь нажимает эту кнопку, система отображает страницу свойств расширенной безопасности , которая позволяет дополнительно редактировать список управления доступом (DACL) объекта.

Объедините этот флаг с флагами SI_EDIT_AUDITS, SI_EDIT_OWNER и SI_EDIT_PROPERTIES, чтобы включить редактирование записей управления доступом (ACE) объекта, владельцев и объектов.

SI_AUDITS_ELEVATION_REQUIRED
0x0200000L
Если этот флаг установлен, экран отображается на кнопке Изменить на страницах расширенного аудита . Для объектов NTFS этот флаг запрашивается, если у пользователя нет доступа к READ_CONTROL или ACCESS_SYSTEM_SECURITY .

Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_CONTAINER
0x00000004L
Указывает, что объект является контейнером. Если этот флаг установлен, редактор управления доступом включает элементы управления, относящиеся к наследованию разрешений на дочерние объекты.
SI_DISABLE_DENY_ACE
0x80000000L
Если этот флаг установлен, система отключает запрет ACE. Клиенты редактора управления доступом должны реализовать интерфейс ISecurityInformation4 для установки этого флага.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_EDIT_ALL
Объединяет флаги SI_EDIT_PERMS, SI_EDIT_OWNER и SI_EDIT_AUDITS.
SI_EDIT_AUDITS
0x00000002L
Если этот флаг установлен и пользователь нажимает кнопку Дополнительно , система отображает страницу свойств расширенной безопасности, включающую страницу свойств Auditing для редактирования saCL объекта. Чтобы отобразить кнопку Дополнительно , установите флаг SI_ADVANCED.
SI_EDIT_EFFECTIVE
0x00020000L
Если этот флаг установлен, отображается страница Действующие разрешения . Этот флаг игнорируется, если объект ISecurityInformation , инициализированный редактор управления доступом, не реализует интерфейс IEffectivePermission .
SI_EDIT_OWNER
0x00000001L
Если этот флаг установлен и пользователь нажимает кнопку Дополнительно , система отображает страницу расширенных свойств безопасности, содержащую страницу свойств Владельца для изменения владельца объекта. Чтобы отобразить кнопку Дополнительно , установите флаг SI_ADVANCED.
SI_EDIT_PERMS
0x00000000L
Это значение по умолчанию. На странице базовых свойств безопасности всегда отображаются элементы управления для базового редактирования DACL объекта. Чтобы отключить эти элементы управления, установите флаг SI_READONLY.
SI_EDIT_PROPERTIES
0x00000080L
Если этот флаг установлен, система включает элементы управления для редактирования ACE, которые применяются к наборам свойств и свойствам объекта. Эти элементы управления доступны только на странице свойств, отображаемой при нажатии пользователем кнопки Дополнительно .
SI_ENABLE_CENTRAL_POLICY
0x40000000L
Если этот флаг установлен, система включает редактирование атрибутов. Клиенты редактора управления доступом должны реализовать интерфейс ISecurityInformation4 для установки этого флага.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_ENABLE_EDIT_ATTRIBUTE_CONDITION
0x2000000L
Если этот флаг установлен, система включает редактирование атрибутов. Клиенты редактора управления доступом должны реализовать интерфейс ISecurityInformation4 для установки этого флага.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_MAY_WRITE
0x10000000L
Указывает, что редактор управления доступом не может считывать DACL, но может выполнять запись в DACL. Если вызов метода ISecurityInformation::GetSecurity возвращает AccessDenied, пользователь может попытаться добавить новое ACE, и отобразится более подходящее предупреждение.
SI_NO_ACL_PROTECT
0x00000200L
Если этот флаг установлен, редактор управления доступом скрывает поле проверка, которое позволяет наследуемым ACE распространяться из родительского объекта на этот объект. Если этот флаг не установлен, отображается поле проверка.

Поле проверка не отображается, если флаг SE_DACL_PROTECTED установлен в дескрипторе безопасности объекта. В этом случае DACL объекта защищен от изменения наследуемыми ACE.

Если пользователь очищает поле проверка, все унаследованные ACE в дескрипторе безопасности удаляются или преобразуются в ненаследуемые ACE. Прежде чем продолжить это преобразование, система отобразит окно с предупреждением, чтобы подтвердить изменение.

SI_NO_ADDITIONAL_PERMISSION
0x00200000L
Если этот флаг установлен, редактор управления доступом скрывает вкладку Специальные разрешения на странице Дополнительные параметры безопасности .
SI_NO_TREE_APPLY
0x00000400L
Если этот флаг установлен, редактор управления доступом скрывает поле проверка, которое управляет флагом NO_PROPAGATE_INHERIT_ACE. Этот флаг имеет значение только в том случае, если также установлен флаг SI_ADVANCED.
SI_OBJECT_GUID
0x00010000L
Если задано значение , указывает, что член guidObjectType структуры SI_OBJECT_INFO является допустимым. Это задается в сравнении с ACE для конкретного объекта при определении того, применяется ли ACE к текущему объекту.
SI_OWNER_ELEVATION_REQUIRED
0x04000000L
Если этот флаг установлен, экран отображается на кнопке Изменить на странице расширенного владельца . Для объектов NTFS этот флаг запрашивается, если у пользователя нет доступа к WRITE_OWNER . Этот флаг действителен, только если запрашивается страница владельца.

Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_OWNER_READONLY
0x00000040L
Если этот флаг установлен, пользователь не может изменить владельца объекта. Установите этот флаг, если SI_EDIT_OWNER задан, но у пользователя нет разрешения на изменение владельца.
SI_OWNER_RECURSE
0x00000100L
Объедините этот флаг с SI_CONTAINER, чтобы на странице владельца отображалось поле проверка, указывающее, планирует ли пользователь применять нового владельца ко всем дочерним объектам, а также к текущему объекту. Редактор управления доступом не выполняет рекурсию; рекурсию должно выполнять приложение в ISecurityInformation::SetSecurity.
SI_PAGE_TITLE
0x00000800L
Если этот флаг установлен, элемент pszPageTitle используется в качестве заголовка страницы базовых свойств безопасности. В противном случае используется заголовок по умолчанию.
SI_PERMS_ELEVATION_REQUIRED
0x01000000L
Если этот флаг установлен, изображение щита отображается на кнопке Изменить на простых и расширенных страницах разрешений . Для объектов NTFS этот флаг запрашивается, если у пользователя нет READ_CONTROL или WRITE_DAC доступа.

Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_READONLY
0x00000008L
Если этот флаг установлен, редактор отображает сведения о безопасности объекта, но элементы управления для их редактирования отключены.

Этот флаг нельзя сочетать с флагом SI_VIEW_ONLY .

SI_RESET
0x00000020L
Если этот флаг установлен, отображается кнопка По умолчанию . Если пользователь нажимает эту кнопку, редактор управления доступом вызывает метод ISecurityInformation::GetSecurity для получения определяемого приложением дескриптора безопасности по умолчанию. Редактор управления доступом использует этот дескриптор безопасности для повторной инициализации страницы свойств, и пользователю разрешено применять изменения или отмены.
SI_RESET_DACL
0x00040000L
Если этот флаг задан, на странице Разрешения отображается кнопка Сброс значений по умолчанию.
SI_RESET_DACL_TREE
0x00004000L
Если этот флаг установлен, отображает поле Сброс разрешений для всех дочерних объектов и включение распространения наследуемых разрешений проверка на странице Разрешения окна параметров контроль доступа. Если этот проверка флажок выбран при нажатии кнопки Применить, то с параметром SecurityInformation объекта ISecurityInformation::SetSecurity с SI_RESET_DACL_TREE выполняется побитовая операция ИЛИ. Эта функция не сбрасывает разрешения и не включает распространение наследуемых разрешений; реализация ISecurityInformation должна сделать это.
SI_RESET_OWNER
0x00100000L
Если этот флаг задан, на странице Владелец отображается кнопка Сброс значений по умолчанию.
SI_RESET_SACL
0x00080000L
Если этот флаг установлен, на странице Аудит отображается кнопка Сброс значений по умолчанию.
SI_RESET_SACL_TREE
0x00008000L
Если этот флаг задан, отображается поле Сброс записей аудита для всех дочерних объектов и включает распространение наследуемых записей аудита проверка на странице Аудит окна параметры контроль доступа. Если этот проверка флажок выбран при нажатии кнопки Применить, то с параметром SecurityInformation объекта ISecurityInformation::SetSecurity с SI_RESET_SACL_TREE выполняется побитовая операция ИЛИ. Эта функция не сбрасывает разрешения и не включает распространение наследуемых разрешений; реализация ISecurityInformation должна сделать это.
SI_SCOPE_ELEVATION_REQUIRED
0x08000000L
Если этот флаг установлен, на кнопке Изменить атрибута Scope отображается изображение щита. Для объектов NTFS этот флаг запрашивается, если у пользователя нет READ_CONTROL или WRITE_DAC доступа. Клиенты редактора управления доступом должны реализовать интерфейс ISecurityInformation4 для установки этого флага.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

SI_SERVER_IS_DC
0x00001000L
Установите этот флаг, если компьютер pszServerName известен как контроллер домена. Если этот флаг установлен, доменное имя включается в список область диалогового окна Добавление пользователей и групп. В противном случае для определения списка область диалогового окна используется компьютер pszServerName.
SI_VIEW_ONLY
0x00400000L
Этот флаг устанавливается клиентом редактора управления доступом для отображения доступных только для чтения версий диалоговых окон редактора управления доступом. Эти версии диалоговых окон не позволяют изменять разрешения связанного объекта. Клиенты редактора управления доступом должны реализовать интерфейс ISecurityInformation3 для установки этого флага.

Этот флаг нельзя сочетать с флагом SI_READONLY .

Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

hInstance

Идентифицирует модуль, содержащий строковые ресурсы, которые будут использоваться на странице свойств. Методы ISecurityInformation::GetAccessRights и ISecurityInformation::GetInheritTypes могут указывать идентификаторы строковых ресурсов для отображаемых имен.

pszServerName

Указатель на строку Юникода, завершающуюся null, которая называет компьютер, на котором выполняется поиск имен учетных записей и идентификаторов безопасности. Это значение может иметь значение NULL , чтобы указать локальный компьютер. Редактор управления доступом не освобождает этот указатель.

pszObjectName

Указатель на строку Юникода, завершающуюся null, которая называет редактируемый объект. Это имя отображается в заголовке страницы расширенных свойств безопасности и всех окнах сообщений об ошибках, отображаемых редактором управления доступом. Редактор управления доступом не освобождает этот указатель.

pszPageTitle

Указатель на строку Юникода, завершаемую null, которая используется в качестве заголовка страницы базовых свойств безопасности. Этот элемент игнорируется, если флаг SI_PAGE_TITLE не установлен в dwFlags. Если заголовок страницы не указан, используется заголовок по умолчанию. Редактор управления доступом не освобождает этот указатель.

guidObjectType

ИДЕНТИФИКАТОР GUID для объекта . Этот элемент игнорируется, если флаг SI_OBJECT_GUID не установлен в dwFlags.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть aclui.h

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

ISecurityInformation

ISecurityInformation::GetAccessRights

ISecurityInformation::GetInheritTypes

ISecurityInformation::GetObjectInformation

ISecurityInformation::GetSecurity

ISecurityInformation::SetSecurity