다음을 통해 공유


NtQueryObject 함수(winternl.h)

[이 함수는 추가 공지 없이 Windows에서 변경되거나 제거될 수 있습니다.]

다양한 종류의 개체 정보를 검색합니다.

구문

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryObject(
  [in, optional]  HANDLE                   Handle,
  [in]            OBJECT_INFORMATION_CLASS ObjectInformationClass,
  [out, optional] PVOID                    ObjectInformation,
  [in]            ULONG                    ObjectInformationLength,
  [out, optional] PULONG                   ReturnLength
);

매개 변수

[in, optional] Handle

정보를 쿼리할 개체의 핸들입니다.

[in] ObjectInformationClass

검색할 개체 정보의 종류를 나타내는 OBJECT_INFORMATION_CLASS 열거된 다음 값 중 하나입니다.

용어 Description
ObjectBasicInformation 다음 설명 섹션과 같이 PUBLIC_OBJECT_BASIC_INFORMATION 구조를 반환합니다.
ObjectTypeInformation 다음 설명 섹션과 같이 PUBLIC_OBJECT_TYPE_INFORMATION 구조를 반환합니다.

[out, optional] ObjectInformation

요청된 정보를 반환할 버퍼에 대한 선택적 포인터입니다. 이 정보의 크기와 구조는 ObjectInformationClass 매개 변수의 값에 따라 달라집니다.

[in] ObjectInformationLength

ObjectInformation 매개 변수가 가리키는 버퍼의 크기(바이트)입니다.

[out, optional] ReturnLength

함수가 요청된 정보의 실제 크기를 쓰는 위치에 대한 선택적 포인터입니다. 해당 크기가 ObjectInformationLength 매개 변수보다 작거나 같으면 함수는 정보를 ObjectInformation 버퍼에 복사합니다. 그렇지 않으면 NTSTATUS 오류 코드를 반환하고 요청된 정보를 받는 데 필요한 버퍼 크기를 ReturnLength 로 반환합니다.

반환 값

NTSTATUS 또는 오류 코드를 반환합니다.

NTSTATUS 오류 코드의 양식과 중요성은 WDK에서 사용할 수 있는 Ntstatus.h 헤더 파일에 나열되며 WDK 설명서에 설명되어 있습니다.

설명

이 함수에는 연결된 헤더 파일 또는 가져오기 라이브러리가 없습니다. Ntdll.dll 동적으로 연결하려면 LoadLibrary 또는 GetProcAddress 함수를 사용해야 합니다.

ObjectInformationClass 매개 변수가 ObjectBasicInformation이면 다음 구조체에 정보가 포함됩니다.

typedef struct _PUBLIC_OBJECT_BASIC_INFORMATION {
    ULONG Attributes;
    ACCESS_MASK GrantedAccess;
    ULONG HandleCount;
    ULONG PointerCount;
    ULONG Reserved[10];    // reserved for internal use
 } PUBLIC_OBJECT_BASIC_INFORMATION, *PPUBLIC_OBJECT_BASIC_INFORMATION;

이 구조체에 사용할 수 있는 멤버에는 핸들에 대한 개체 특성(특성), 핸들에 부여된 액세스(GrantedAccess), 개체에 대한 열린 핸들 수(HandleCount) 및 개체에 대한 커널 참조 수(PointerCount)가 포함됩니다.

ObjectInformationClass 매개 변수가 ObjectTypeInformation이면 다음 구조체에 정보가 포함됩니다.

typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION {
    UNICODE_STRING TypeName;
    ULONG Reserved [22];    // reserved for internal use
} PUBLIC_OBJECT_TYPE_INFORMATION, *PPUBLIC_OBJECT_TYPE_INFORMATION;

이 구조체에서 사용할 수 있는 유일한 멤버는 개체 형식 이름 문자열(TypeName)입니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 winternl.h
라이브러리 ntdll.lib
DLL ntdll.dll