NtQuerySecurityObject 함수(ntifs.h)
NtQuerySecurityObject 루틴은 개체의 보안 설명자의 복사본을 검색합니다.
통사론
__kernel_entry NTSYSCALLAPI NTSTATUS NtQuerySecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out] PULONG LengthNeeded
);
매개 변수
[in] Handle
보안 설명자를 쿼리할 개체에 대한 핸들입니다. 이 핸들은 SecurityInformation 매개 변수에 대한 설명에 표시된 테이블의 의미 열에 지정된 액세스 권한이 있어야 합니다.
[in] SecurityInformation
다음 중 하나 이상의 조합으로 쿼리할 정보를 지정하는 SECURITY_INFORMATION 값입니다.
값 | 의미 |
---|---|
OWNER_SECURITY_INFORMATION | 개체의 소유자 식별자를 쿼리하고 있습니다. READ_CONTROL 액세스가 필요합니다. |
GROUP_SECURITY_INFORMATION | 개체의 기본 그룹 식별자를 쿼리하고 있습니다. READ_CONTROL 액세스가 필요합니다. |
SACL_SECURITY_INFORMATION | 개체의 SACL(시스템 ACL)을 쿼리하고 있습니다. ACCESS_SYSTEM_SECURITY 액세스가 필요합니다. |
DACL_SECURITY_INFORMATION | 개체의 DACL(임의 액세스 제어 목록)을 쿼리하고 있습니다. READ_CONTROL 액세스가 필요합니다. |
[out] SecurityDescriptor
NtQuerySecurityObject 호출자가 할당한 버퍼는 지정된 보안 설명자의 복사본으로 채웁니다. SECURITY_DESCRIPTOR 구조체는 자체 상대 형식으로 반환됩니다.
[in] Length
SecurityDescriptor가리키는 버퍼의 크기(바이트)입니다.
[out] LengthNeeded
복사한 보안 설명자를 저장하는 데 필요한 바이트 수를 받는 호출자 할당 변수에 대한 포인터입니다.
반환 값
NtQuerySecurityObject STATUS_SUCCESS 또는 적절한 오류 상태를 반환합니다. 가능한 오류 상태 코드에는 다음이 포함됩니다.
반환 코드 | 묘사 |
---|---|
STATUS_ACCESS_DENIED | 핸들 필요한 액세스 권한이 없습니다. |
STATUS_BUFFER_TOO_SMALL | 버퍼가 너무 작아서 보안 설명자를 사용할 수 없습니다. 보안 정보가 버퍼에 복사되지 않았습니다. |
STATUS_INVALID_HANDLE | 핸들 올바른 핸들이 아닙니다. |
STATUS_OBJECT_TYPE_MISMATCH | 핸들 예상된 형식의 핸들이 아니었습니다. |
발언
미니 필터는 fltQuerySecurityObject호출해야 합니다.
보안 설명자는 절대 또는 자기 상대 형식일 수 있습니다. 자체 상대 형식에서 구조체의 모든 멤버는 메모리에 연속적으로 위치합니다. 절대 형식에서 구조체에는 멤버에 대한 포인터만 포함됩니다. 자세한 내용은 절대 및 Self-Relative 보안 설명자참조하세요.
NTFS 파일 시스템은 파일의 디스크에 기록되는 보안 설명자의 크기에 64K 제한을 적용합니다. (FAT 파일 시스템은 파일에 대한 보안 설명자를 지원하지 않습니다.) 따라서 64K SecurityDescriptor 버퍼는 반환된 SECURITY_DESCRIPTOR 구조를 보유할 수 있을 만큼 충분히 커야 합니다.
보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 항목에 대한 설명서를 참조하세요.
메모
NtQuerySecurityObject 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwQuerySecurityObject" 대신 "NtQuerySecurityObject "" 이름을 사용해야 합니다.
커널 모드 드라이버의 호출의 경우 NtXxx 및 ZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. NtXxxZwXxx 루틴 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴 Nt 및 Zw 버전 사용참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs, PowerIrpDDis |