FltSetSecurityObject 함수(fltkernel.h)
FltSetSecurityObject 는 개체의 보안 상태를 설정합니다.
구문
NTSTATUS FLTAPI FltSetSecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
매개 변수
[in] Instance
호출자에 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] FileObject
보안 상태를 설정할 개체에 대한 파일 개체 포인터입니다. 호출자는 SecurityInformation 매개 변수의 설명에 표시된 테이블의 의미 열에 지정된 액세스 권한이 있어야 합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] SecurityInformation
SECURITY_INFORMATION 다음 중 하나 이상의 조합으로 설정할 정보를 지정하는 값입니다.
값 | 의미 |
---|---|
OWNER_SECURITY_INFORMATION | 개체의 소유자 식별자를 설정할 것임을 나타냅니다. WRITE_OWNER 액세스가 필요합니다. |
GROUP_SECURITY_INFORMATION | 개체의 기본 그룹 식별자를 설정할 것임을 나타냅니다. WRITE_OWNER 액세스가 필요합니다. |
DACL_SECURITY_INFORMATION | 개체의 DACL(임의 액세스 제어 목록)을 설정할 것임을 나타냅니다. WRITE_DAC 액세스가 필요합니다. |
SACL_SECURITY_INFORMATION | 개체의 시스템 ACL(SACL)을 설정할 것임을 나타냅니다. ACCESS_SYSTEM_SECURITY 액세스가 필요합니다. |
[in] SecurityDescriptor
개체에 대해 설정할 보안 설명자에 대한 포인터입니다.
반환 값
FltSetSecurityObject 는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_ACCESS_DENIED | 호출자에게 필요한 액세스 권한이 없습니다. 오류 코드입니다. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor 가 NULL 포인터였습니다. 오류 코드입니다. |
STATUS_INSUFFICIENT_RESOURCES | 개체의 보안 설명자를 캡처할 수 없습니다. 오류 코드입니다. |
STATUS_INVALID_ACL | 개체의 보안 설명자에 잘못된 ACL이 포함되어 있습니다. 오류 코드입니다. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor 가 유효한 보안 설명자를 가리키지 않았습니다. 오류 코드입니다. |
STATUS_INVALID_SID | 개체의 보안 설명자에 잘못된 SID가 포함되어 있습니다. 오류 코드입니다. |
STATUS_UNKNOWN_REVISION | 개체의 보안 설명자의 수정 수준을 알 수 없거나 지원되지 않습니다. 오류 코드입니다. |
STATUS_NOT_IMPLEMENTED | FltSetSecurityObject 루틴은 존재하지만 호출된 운영 체제 환경에서는 지원되지 않습니다. |
설명
FltSetSecurityObject 루틴이 있으며 Windows Vista부터 지원됩니다. Windows 2000, Windows XP 및 Server 2003 SP1에서 루틴은 존재하지만 지원되지 않으며 이러한 환경에서 호출되는 경우 STATUS_NOT_IMPLEMENTED 반환합니다.
보안 설명자는 절대 또는 자기 상대 형식일 수 있습니다. 자체 상대 형식에서 구조체의 모든 멤버는 메모리에 연속적으로 위치합니다. 절대 형식에서 구조체에는 멤버에 대한 포인터만 포함됩니다. 자세한 내용은 절대 및 Self-Relative 보안 설명자를 참조하세요.
보안 및 액세스 제어에 대한 자세한 내용은 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |