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