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종료 문자열에 대한 포인터입니다. 지원되는 개체는 레지스트리 키 및 파일 개체입니다. 다양한 개체 형식에 대한 문자열 형식에 대한 설명은 SE_OBJECT_TYPE참조하세요.
[in] ObjectType
pObjectName 매개 변수로 명명된 개체의 형식을 나타내는 SE_OBJECT_TYPE 열거형의 값입니다. 지원되는 값은 각각 레지스트리 키 및 파일 개체에 대해 SE_REGISTRY_KEY 및 SE_FILE_OBJECT.
[in] SecurityInfo
재설정할 보안 정보의 유형을 나타내는 비트 플래그 집합입니다. 이 매개 변수는 SECURITY_INFORMATION 비트 플래그의 조합일 수 있습니다.
[in, optional] pOwner
개체의 소유자를 식별하는 SID 구조체에 대한 포인터입니다. SID는 보안 설명자의 소유자 SID로 할당할 수 있는 SID여야 합니다.
SecurityInfo 매개 변수에는 OWNER_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 소유자를 설정하려면 호출자가 루트 개체를 포함하여 각 개체에 대한 WRITE_OWNER 액세스 권한이 있어야 합니다. 소유자 SID를 설정하지 않는 경우 이 매개 변수는 NULL
[in, optional] pGroup
개체의 기본 그룹을 식별하는 SID 구조체에 대한 포인터입니다.
SecurityInfo 매개 변수에는 GROUP_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 그룹을 설정하려면 호출자가 루트 개체를 포함하여 각 개체에 대한 WRITE_OWNER 액세스 권한이 있어야 합니다. 기본 그룹 SID를 설정하지 않는 경우 이 매개 변수는 NULL
[in, optional] pDacl
다시 설정되는 개체의 새 DACL을 나타내는 ACL(액세스 제어 목록) 구조체에 대한 포인터입니다.
SecurityInfo 매개 변수에는 DACL_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 호출자는 루트 개체를 포함하여 각 개체에 대한 READ_CONTROL 및 WRITE_DAC 액세스 권한이 있어야 합니다. DACL을 설정하지 않는 경우 이 매개 변수는 NULL
[in, optional] pSacl
다시 설정되는 개체의 새 SACL을 나타내는 ACL 구조체에 대한 포인터입니다.
SecurityInfo 매개 변수에는 SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION 또는 BACKUP_SECURITY_INFORMATION 플래그가 포함되어야 합니다. SACL_SECURITY_INFORMATION 또는 SCOPE_SECURITY_INFORMATION 설정하는 경우 호출자는 SE_SECURITY_NAME 권한을 사용하도록 설정해야 합니다. SACL을 설정하지 않으면 이 매개 변수는 NULL
[in] KeepExplicit
하위 트리에 대해 명시적으로 정의된 ACE를 유지하거나 삭제할지 여부를 정의하는 부울 값입니다.
[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 값을 전달합니다. 호출자는 pInvokeSetting사용하여 PROG_INVOKE_SETTING 값을 변경할 수 있습니다.
사용할 진행률 함수가 없으면 이 매개 변수를 NULL
[in] ProgressInvokeSetting
진행률 함수의 초기 설정을 지정하는 PROG_INVOKE_SETTING 열거형의 값입니다.
[in, optional] Args
호출자가 지정한 진행률 함수 인수에 대한 VOID 대한 포인터입니다.
반환 값
함수가 성공하면 함수는 ERROR_SUCCESS 반환합니다.
함수가 실패하면 WinError.h에 정의된 오류 코드를 반환합니다.
발언
NULL 소유자, 그룹, DACL 또는 SACL 설정은 이 함수에서 지원되지 않습니다.
호출자에게 요청된 소유자, 그룹, DACL 및 SACL 업데이트를 지원하기 위한 적절한 권한과 권한이 없는 경우 업데이트가 수행되지 않습니다.
이 함수는 TreeSetNamedSecurityInfo 함수와 유사합니다.
TreeResetNamedSecurityInfo KeepExplicit 매개 변수가 TRUE설정된 경우 이 함수는 dwAction 매개 변수가 TREE_SEC_INFO_RESET_KEEP_EXPLICIT 설정된TreeSetNamedSecurityInfo 동일합니다.TreeResetNamedSecurityInfo KeepExplicit 매개 변수가 FALSE설정된 경우 이 함수는 dwAction 매개 변수가 TREE_SEC_INFO_RESET 설정된TreeSetNamedSecurityInfo 동일합니다.
메모
aclapi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 TreeResetNamedSecurityInfo를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | aclapi.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |