Операции дескриптора безопасности
API Windows предоставляет функции для получения и настройки компонентов дескриптора безопасности , связанного с защищаемым объектом. Используйте функции GetSecurityInfo и GetNamedSecurityInfo , чтобы получить указатель на дескриптор безопасности объекта. Эти функции также могут извлекать указатели на отдельные компоненты дескриптора безопасности: DACL, SACL, идентификатор безопасности владельца и идентификатор безопасности основной группы. Используйте функции SetSecurityInfo и SetNamedSecurityInfo , чтобы задать компоненты дескриптора безопасности объекта.
Как правило, следует использовать GetSecurityInfo и SetSecurityInfo с объектами, идентифицируемыми дескриптором, и SetNamedSecurityInfo и GetNamedSecurityInfo с объектами, идентифицируемыми по имени. Дополнительные сведения о конкретных функциях, используемых при работе с различными типами объектов, см. в разделе Защищаемые объекты.
API Windows предоставляет дополнительные функции для управления компонентами дескриптора безопасности. Сведения о работе со списками управления доступом (DACL или SACCL) см. в разделах Получение сведений из ACL и Создание или изменение ACL. Сведения об идентификаторах безопасности см. в разделе Идентификаторы безопасности (SID).
Чтобы получить сведения об элементе управления в дескрипторе безопасности, вызовите функцию GetSecurityDescriptorControl . Чтобы задать биты элемента управления, связанные с автоматическим наследованием ACE, вызовите функцию SetSecurityDescriptorControl . Другие биты элемента управления задаются различными функциями, которые задают компонент дескриптора безопасности. Например, если вы используете SetSecurityInfo для изменения DACL объекта, функция устанавливает или очищает биты соответствующим образом, чтобы указать, имеет ли дескриптор безопасности DACL, является ли он daCL по умолчанию и т. д. Другим примером являются биты элемента управления Resource Manager (RM), содержащиеся в дескрипторе безопасности. Эти биты используются в соответствии с реализацией диспетчера ресурсов и доступны с помощью функций GetSecurityDescriptorRMControl и SetSecurityDescriptorRMControl .