Функция TreeResetNamedSecurityInfoA (aclapi.h)
Эта версия этой функции не поддерживается. Поддерживается широкая версия этой функции, TreeResetNamedSecurityInfoW.
Синтаксис
DWORD TreeResetNamedSecurityInfoA(
[in] LPSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID pOwner,
[in, optional] PSID pGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl,
[in] BOOL KeepExplicit,
[in, optional] FN_PROGRESS fnProgress,
[in] PROG_INVOKE_SETTING ProgressInvokeSetting,
[in, optional] PVOID Args
);
Параметры
[in] pObjectName
Указатель на строку null-terminated, указывающую имя объекта корневого узла для объектов, которые должны получать обновленные сведения о безопасности. Поддерживаемые объекты — это разделы реестра и объекты файлов. Описание строковых форматов для различных типов объектов см. в SE_OBJECT_TYPE.
[in] ObjectType
Значение перечисления SE_OBJECT_TYPE, указывающее тип объекта, именованного параметром pObjectName. Поддерживаемые значения : SE_REGISTRY_KEY и SE_FILE_OBJECT для разделов реестра и объектов файлов соответственно.
[in] SecurityInfo
Набор битовых флагов, указывающих тип сведений о безопасности для сброса. Этот параметр может быть сочетанием SECURITY_INFORMATION битовых флагов.
[in, optional] pOwner
Указатель на структуру sid, которая определяет владельца объекта. Идентификатор безопасности должен быть идентификатором безопасности, который может быть назначен в качестве идентификатора безопасности дескриптора безопасности. Параметр SecurityInfo должен содержать флаг OWNER_SECURITY_INFORMATION. Чтобы задать владельца, вызывающий объект должен иметь WRITE_OWNER доступ к каждому объекту, включая корневой объект. Если идентификатор безопасности владельца не задан, этот параметр можно null.
[in, optional] pGroup
Указатель на структуру идентификатора безопасности
[in, optional] pDacl
Указатель на структуру списка управления доступом (ACL), представляющую новый DACL для сбрасываемых объектов. Параметр SecurityInfo
[in, optional] pSacl
Указатель на структуру ACL, представляющую новый saCL для сбрасываемых объектов. Параметр SecurityInfo
[in] KeepExplicit
Логическое значение, определяющее, хранятся или удаляются ли явным образом определенные acES для поддеревного дерева. Если KeepExplicittrue, то явным образом определенные acES хранятся для каждого поддеревого daCL и SACL, а наследуемые acEs заменяются унаследованными acEs из pDacl и pSacl. Если KeepExplicit является FALSE, то явным образом определенные ACEs для каждого поддеревого daCL и SACL удаляются до замены унаследованных acEs из pDacl и pSacl.
[in, optional] fnProgress
Указатель на функцию, используемую для отслеживания хода выполнения функции TreeResetNamedSecurityInfo. Прототип функции хода выполнения:
#include <windows.h>
#include <Aclapi.h>
typedef VOID (*FN_PROGRESS) (
IN LPWSTR pObjectName, // Name of object just processed
IN DWORD Status, // Status of operation on object
IN OUT PPROG_INVOKE_SETTING pInvokeSetting, // When to set
IN PVOID Args, // Caller specific data
IN BOOL SecuritySet // Whether security was set
);
Функция хода выполнения предоставляет вызывающую функцию сведения о ходе выполнения и ошибке при обработке узлов. Вызывающий объект указывает функцию хода выполнения в fnProgress, а во время операции дерева TreeResetNamedSecurityInfo передает имя последнего обработанного объекта, состояние ошибки этой операции и текущее значение PROG_INVOKE_SETTING. Вызывающий объект может изменить значение PROG_INVOKE_SETTING с помощью pInvokeSetting.
Если функция хода выполнения не используется, задайте для этого параметра значение NULL.
[in] ProgressInvokeSetting
Значение перечисления PROG_INVOKE_SETTING, указывающее начальный параметр функции хода выполнения.
[in, optional] Args
Указатель на VOID для аргументов функции хода выполнения, указанных вызывающим элементом.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает ERROR_SUCCESS.
Если функция завершается ошибкой, она возвращает код ошибки, определенный в WinError.h.
Замечания
Настройка null владельца, группы, DACL или SACL не поддерживается этой функцией.
Если вызывающий объект не содержит надлежащих привилегий и разрешений для поддержки запрошенного владельца, группы, DACL и saCL, то никакие обновления не выполняются.
Эта функция аналогична функции TreeSetNamedSecurityInfo:
- Если параметр
KeepExplicit TreeResetNamedSecurityInfo имеет значениеTRUE , то функция эквивалентнаTreeSetNamedSecurityInfo с параметром dwActiondwAction TREE_SEC_INFO_RESET_KEEP_EXPLICIT. - Если параметр KeepExplicitTreeResetNamedSecurityInfo имеет значение FALSE, то функция эквивалентна TreeSetNamedSecurityInfo с параметром dwAction dwAction значение TREE_SEC_INFO_RESET.
Заметка
Заголовок aclapi.h определяет TreeResetNamedSecurityInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | aclapi.h |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |