NtQueryInformationThread-Funktion (winternl.h)
[NtQueryInformationThread kann in zukünftigen Versionen von Windows geändert oder nicht verfügbar sein. Anwendungen sollten die in diesem Thema aufgeführten alternativen Funktionen verwenden.]
Ruft Informationen zum angegebenen Thread ab.
Syntax
__kernel_entry NTSTATUS NtQueryInformationThread(
[in] HANDLE ThreadHandle,
[in] THREADINFOCLASS ThreadInformationClass,
[in, out] PVOID ThreadInformation,
[in] ULONG ThreadInformationLength,
[out, optional] PULONG ReturnLength
);
Parameter
[in] ThreadHandle
Ein Handle für den Thread, über den Informationen angefordert werden.
[in] ThreadInformationClass
Wenn dieser Parameter der ThreadIsIoPending-Wert der THREADINFOCLASS-Enumeration ist, bestimmt die Funktion, ob für den Thread E/A-Vorgänge ausstehen.
Verwenden Sie stattdessen die öffentliche Funktion GetThreadIOPendingFlag , um diese Informationen abzurufen.
Wenn dieser Parameter der ThreadQuerySetWin32StartAddress-Wert der THREADINFOCLASS-Enumeration ist, gibt die Funktion die Startadresse des Threads zurück. Beachten Sie, dass bei Versionen von Windows vor Windows Vista die zurückgegebene Startadresse nur zuverlässig ist, bevor der Thread ausgeführt wird.
Wenn dieser Parameter der ThreadSubsystemInformation-Wert der THREADINFOCLASS-Enumeration ist, ruft die Funktion einen SUBSYSTEM_INFORMATION_TYPE Wert ab, der den Subsystemtyp des Threads angibt. Der Puffer, auf den der ThreadInformation-Parameter verweist, sollte groß genug sein, um eine einzelne SUBSYSTEM_INFORMATION_TYPE-Enumeration aufzunehmen.
[in, out] ThreadInformation
Ein Zeiger auf einen Puffer, in den die Funktion die angeforderten Informationen schreibt. Wenn ThreadIsIoPending für den ThreadInformationClass-Parameter angegeben ist, muss dieser Puffer groß genug sein, um einen ULONG-Wert aufzunehmen, der angibt, ob für den angegebenen Thread E/A-Anforderungen ausstehen. Wenn dieser Wert gleich 0 ist, sind keine E/A-Vorgänge ausstehend. Andernfalls sind für den Thread E/A-Vorgänge ausstehend, wenn der Wert nichtzero ist.
Verwenden Sie stattdessen die öffentliche Funktion GetThreadIOPendingFlag , um diese Informationen abzurufen.
Wenn ThreadQuerySetWin32StartAddress für den ThreadInformationClass-Parameter angegeben ist, muss dieser Puffer groß genug sein, um einen PVOID-Wert zu enthalten, der die Startadresse des Threads ist.
[in] ThreadInformationLength
Die Größe des Puffers, auf den der ThreadInformation-Parameter in Bytes verweist.
[out, optional] ReturnLength
Ein Zeiger auf eine Variable, in der die Funktion die Größe der angeforderten Informationen zurückgibt. Wenn die Funktion erfolgreich war, ist dies die Größe der Informationen, die in den Puffer geschrieben wurden, auf den der ThreadInformation-Parameter verweist. Wenn der Puffer jedoch zu klein war, ist dies die mindeste Größe des Puffers, die erforderlich ist, um die Informationen erfolgreich zu empfangen.
Rückgabewert
Gibt einen NTSTATUS-Erfolgs- oder Fehlercode zurück.
Die Formen und Die Bedeutung von NTSTATUS-Fehlercodes sind in der Ntstatus.h-Headerdatei aufgeführt, die im DDK verfügbar ist, und werden in der DDK-Dokumentation unter Kernel-Mode Treiberarchitektur / Entwurfshandbuch / Treiberprogrammierungstechniken / Protokollierungsfehler beschrieben.
Hinweise
Die NtQueryInformationThread-Funktion ist intern im Betriebssystem und kann von einer Windows-Version zu einer anderen geändert werden. Um die Kompatibilität Ihrer Anwendung zu gewährleisten, ist es besser, stattdessen die zuvor erwähnte öffentliche Funktion zu verwenden.
Wenn Sie NtQueryInformationThread verwenden, greifen Sie auf die Funktion über dynamische Laufzeitverknüpfung zu. Dies gibt Ihrem Code die Möglichkeit, ordnungsgemäß zu reagieren, wenn die Funktion geändert oder aus dem Betriebssystem entfernt wurde. Signaturänderungen sind jedoch möglicherweise nicht erkennbar.
Diese Funktion verfügt über keine zugeordnete Importbibliothek. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um eine dynamische Verknüpfung mit Ntdll.dll.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | winternl.h |
Bibliothek | ntdll.lib |
DLL | ntdll.dll |