다음을 통해 공유


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 지정합니다.

NonPagedPoolMustSucceedNonPagedPoolCacheAlignedMustS 풀 형식은 사용되지 않으며 더 이상 사용되지 않아야 합니다.

[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

참고 항목

ACE

ACL

GENERIC_MAPPING

rtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

rtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SeQuerySecurityDescriptorInfo

SeSetAccessStateGenericMapping

SeSetSecurityDescriptorInfoEx