SeSetSecurityDescriptorInfo 함수(ntifs.h)
SeSetSecurityDescriptorInfo 루틴은 개체의 보안 설명자를 설정합니다.
통사론
NTSTATUS SeSetSecurityDescriptorInfo(
[in, optional] PVOID Object,
[in] PSECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR ModificationDescriptor,
[in, out] PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
[in] POOL_TYPE PoolType,
[in] PGENERIC_MAPPING GenericMapping
);
매개 변수
[in, optional] Object
보안 설명자를 설정할 개체에 대한 포인터입니다. 보안 할당량 정보를 업데이트하는 데 사용됩니다.
[in] SecurityInformation
개체에 적용할 보안 정보를 지정하는 비트 마스크에 대한 포인터입니다. 다음 값 중 하나 이상의 조합일 수 있습니다.
값 | 의미 |
---|---|
DACL_SECURITY_INFORMATION | 개체의 DACL(임의 액세스 제어 목록)이 설정되고 있음을 나타냅니다. WRITE_DAC 액세스가 필요합니다. |
GROUP_SECURITY_INFORMATION | 개체의 기본 그룹 식별자가 설정되고 있음을 나타냅니다. WRITE_OWNER 액세스가 필요합니다. |
OWNER_SECURITY_INFORMATION | 개체의 소유자 식별자가 설정되고 있음을 나타냅니다. WRITE_OWNER 액세스가 필요합니다. |
SACL_SECURITY_INFORMATION | 개체의 시스템 ACL(SACL)이 설정되고 있음을 나타냅니다. ACCESS_SYSTEM_SECURITY 액세스가 필요합니다. |
ModificationDescriptor
개체에 적용할 입력 보안 설명자입니다. 이 루틴의 호출자는 SeSetSecurityDescriptorInfo호출하기 전에 전달된 보안 설명자를 검색하고 캡처하고 나중에 해제해야 합니다.
[in, out] ObjectsSecurityDescriptor
개체의 보안 설명자에 대한 포인터에 대한 포인터입니다. 보안 설명자는 자체 상대 형식이어야 합니다. 호출자는 더 이상 필요하지 않은 경우 이 구조를 해제할 책임이 있습니다.
[in] PoolType
다음 중 하나일 수 있는 새 보안 설명자를 할당할 때 사용할 풀 유형을 지정합니다.
- NonPagedPool
- PagedPool
- NonPagedPoolCacheAligned
- pagedPoolCacheAligned
일반적으로 호출자는 PagedPool지정하거나, 버퍼가 IRQL >= DISPATCH_LEVEL 또는 임의 스레드 컨텍스트에서 액세스될 경우 NonPagedPool 지정합니다.
NonPagedPoolMustSucceed 및 NonPagedPoolCacheAlignedMustS 풀 형식은 사용되지 않으며 더 이상 사용되지 않아야 합니다.
[in] GenericMapping
액세스되는 개체의 특정 및 표준 액세스 형식에 대한 제네릭 매핑을 지정하는 GENERIC_MAPPING 구조체에 대한 포인터입니다. 이 매핑 구조는 이 루틴에 전달되기 전에 안전하게 액세스할 수 있어야 합니다(필요한 경우 캡처됨).
반환 값
반환 코드 | 묘사 |
---|---|
STATUS_SUCCESS | 개체의 보안 설명자가 수정되었습니다. |
STATUS_BAD_DESCRIPTOR_FORMAT | 제공된 개체의 보안 설명자가 자체 상대 형식이 아닙니다. |
STATUS_NO_SECURITY_ON_OBJECT | 개체에 보안 설명자가 없습니다. |
발언
SeSetSecurityDescriptorInfo 개체의 기존 보안 설명자를 수정합니다. 개체에 보안 설명자가 없으면 SeSetSecurityDescriptorInfo 대한 호출이 실패합니다.
개체가 ACE(액세스 제어 항목)의 자동 상속을 지원하는지 여부를 지정하려면 SeSetSecurityDescriptorInfoEx사용합니다.
보안 설명자는 절대 또는 자기 상대 형식일 수 있습니다. 자체 상대 형식에서 구조체의 모든 멤버는 메모리에 연속적으로 위치합니다. 절대 형식에서 구조체에는 멤버에 대한 포인터만 포함됩니다.
보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 항목에 대한 설명서를 참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
참고 항목
RtlCreateSecurityDescriptorRelative