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.
[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 |