NtQueryInformationThread函数
THREADINFOCLASS是一个枚举结构,其值旨在作为ZwQueryInformationThreadZwSetInformationThread函数的输入。 查询或设置不同类型的信息选择不同的值。
自从Windows NT 3.51的设备驱动程序工具包(DDK)起,THREADINFOCLASS枚举的C语言定义已在NTDDK.H标头中公开可用。 它支持ZwSetInformationThread函数的声明,该函数从内核和3.10及更高版本的NTDLL中导出,但直到2009年Windows 7的Windows驱动程序工具包(WDK)之后,甚至对于内核模式编程也没有正式记录。 这两个函数存在的内核模式文档仅提供了少数定义的值。 在Windows 10的WDK中,甚至NTDDK.H中的定义也变得具有选择性。
Microsoft的THREADINFOCLASS或使用它的任何功能的第一个正式文档是在用于用户模式编程的软件开发工具包(SDK)中。 WINTERNL.H文件已于2002年添加到SDK中,显然是为了使Microsoft遵守有关“中间件”产品(例如但绝不限于Internet Explorer)不公平使用内部Windows API的和解协议。 该文件仅在ThreadIsIoPending情况下就提供了大大简化的C语言定义,最好正确地记录NtQueryInformationThread函数的同期文档,最好通过记录的API函数GetThreadPendingIoFlag进行访问。 此文档后来在其描述中添加了ThreadQuerySetWin32StartAddress,尽管显然没有在这种情况下使它成为标头中的定义。
在许多已定义的情况下,某些情况只能成功用