Freigeben über


NtQueryObject-Funktion (winternl.h)

[Diese Funktion kann ohne weitere Benachrichtigung geändert oder aus Windows entfernt werden.]

Ruft verschiedene Arten von Objektinformationen ab.

Syntax

__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

Das Handle des Objekts, für das Informationen abgefragt werden.

[in] ObjectInformationClass

Einer der folgenden Werte, wie in OBJECT_INFORMATION_CLASS aufgelistet, der die Art der abzurufenden Objektinformationen angibt.

Begriff BESCHREIBUNG
ObjectBasicInformation Gibt eine PUBLIC_OBJECT_BASIC_INFORMATION-Struktur zurück, wie im folgenden Abschnitt Hinweise gezeigt.
ObjectTypeInformation Gibt eine PUBLIC_OBJECT_TYPE_INFORMATION-Struktur zurück, wie im folgenden Abschnitt Hinweise gezeigt.

[out, optional] ObjectInformation

Ein optionaler Zeiger auf einen Puffer, in dem die angeforderten Informationen zurückgegeben werden sollen. Die Größe und Struktur dieser Informationen hängt vom Wert des ObjectInformationClass-Parameters ab.

[in] ObjectInformationLength

Die Größe des Puffers, auf den der ObjectInformation-Parameter in Bytes verweist.

[out, optional] ReturnLength

Ein optionaler Zeiger auf eine Position, an der die Funktion die tatsächliche Größe der angeforderten Informationen schreibt. Wenn diese Größe kleiner oder gleich dem ObjectInformationLength-Parameter ist, kopiert die Funktion die Informationen in den ObjectInformation-Puffer . Andernfalls wird ein NTSTATUS-Fehlercode zurückgegeben und in ReturnLength die Größe des Puffers zurückgegeben, der zum Empfangen der angeforderten Informationen erforderlich ist.

Rückgabewert

Gibt einen NTSTATUS- oder Fehlercode zurück.

Die Formen und die Bedeutung von NTSTATUS-Fehlercodes sind in der Im WDK verfügbaren Ntstatus.h-Headerdatei aufgeführt und in der WDK-Dokumentation beschrieben.

Hinweise

Diese Funktion verfügt über keine zugeordnete Headerdatei oder Importbibliothek. Sie müssen die LoadLibrary - oder GetProcAddress-Funktion verwenden, um eine dynamische Verknüpfung mit Ntdll.dll.

Wenn der ObjectInformationClass-ParameterObjectBasicInformation ist, sind die Informationen in der folgenden Struktur enthalten.

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;

Zu den verfügbaren Elementen für diese Struktur gehören Objektattribute für das Handle (Attribute), der für das Handle gewährte Zugriff (GrantedAccess), die Anzahl der geöffneten Handles für das Objekt (HandleCount) und die Anzahl der Kernelverweise auf das Objekt (PointerCount).

Wenn der ObjectInformationClass-ParameterObjectTypeInformation Ist, sind die Informationen in der folgenden Struktur enthalten.

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

Das einzige verfügbare Element dieser Struktur ist die Objekttypnamenzeichenfolge (TypeName).

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile winternl.h
Bibliothek ntdll.lib
DLL ntdll.dll