Bagikan melalui


Fungsi NtQueryObject (winternl.h)

[Fungsi ini dapat diubah atau dihapus dari Windows tanpa pemberitahuan lebih lanjut.]

Mengambil berbagai jenis informasi objek.

Sintaks

__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
);

Parameter

[in, optional] Handle

Handel objek yang informasinya sedang dikueri.

[in] ObjectInformationClass

Salah satu nilai berikut, seperti yang dijumlahkan dalam OBJECT_INFORMATION_CLASS, menunjukkan jenis informasi objek yang akan diambil.

Istilah Deskripsi
ObjectBasicInformation Mengembalikan struktur PUBLIC_OBJECT_BASIC_INFORMATION seperti yang diperlihatkan di bagian Keterangan berikut.
ObjectTypeInformation Mengembalikan struktur PUBLIC_OBJECT_TYPE_INFORMATION seperti yang diperlihatkan di bagian Keterangan berikut.

[out, optional] ObjectInformation

Penunjuk opsional ke buffer tempat informasi yang diminta akan dikembalikan. Ukuran dan struktur informasi ini bervariasi tergantung pada nilai parameter ObjectInformationClass .

[in] ObjectInformationLength

Ukuran buffer yang diacu oleh parameter ObjectInformation , dalam byte.

[out, optional] ReturnLength

Penunjuk opsional ke lokasi di mana fungsi menulis ukuran aktual dari informasi yang diminta. Jika ukuran tersebut kurang dari atau sama dengan parameter ObjectInformationLength , fungsi menyalin informasi ke dalam buffer ObjectInformation ; jika tidak, ia mengembalikan kode kesalahan NTSTATUS dan mengembalikan di ReturnLength ukuran buffer yang diperlukan untuk menerima informasi yang diminta.

Nilai kembali

Mengembalikan NTSTATUS atau kode kesalahan.

Formulir dan signifikansi kode kesalahan NTSTATUS tercantum dalam file header Ntstatus.h yang tersedia di WDK, dan dijelaskan dalam dokumentasi WDK.

Keterangan

Fungsi ini tidak memiliki file header atau pustaka impor terkait. Anda harus menggunakan fungsi LoadLibrary atau GetProcAddress untuk menautkan secara dinamis ke Ntdll.dll.

Jika parameter ObjectInformationClass adalah ObjectBasicInformation, informasi tersebut terkandung dalam struktur berikut.

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;

Anggota yang tersedia untuk struktur ini mencakup atribut objek untuk handel (Atribut), akses yang diberikan untuk handel (GrantedAccess), jumlah handel terbuka ke objek (HandleCount), dan jumlah referensi kernel ke objek (PointerCount).

Jika parameter ObjectInformationClass adalah ObjectTypeInformation, informasi tersebut terkandung dalam struktur berikut.

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

Satu-satunya anggota yang tersedia dari struktur ini adalah string nama jenis objek (TypeName).

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header winternl.h
Pustaka ntdll.lib
DLL ntdll.dll