getUmsSystemThreadInformation 函数 (winbase.h)
查询指定的线程是 UMS 计划程序线程、UMS 工作线程还是非 UMS 线程。
警告
自Windows 11起,不支持用户模式计划。 所有调用都失败,并出现错误 ERROR_NOT_SUPPORTED
。
语法
BOOL GetUmsSystemThreadInformation(
[in] HANDLE ThreadHandle,
[in, out] PUMS_SYSTEM_THREAD_INFORMATION SystemThreadInfo
);
参数
[in] ThreadHandle
线程的句柄。 线程句柄必须具有THREAD_QUERY_INFORMATION访问权限。 有关详细信息,请参阅 线程安全和访问权限。
[in, out] SystemThreadInfo
指向接收指定线程相关信息 的 UMS_SYSTEM_THREAD_INFORMATION 结构的指针。
调用方必须在调用前初始化 UmsVersion
成员。
返回值
如果函数失败,则返回值为零。
要获得更多的错误信息,请调用 GetLastError。
注解
GetUmsSystemThreadInformation 函数适用于调试器、故障排除工具和分析应用程序。 例如,线程隔离跟踪或单步执行指令可能涉及挂起进程中的所有其他线程。 但是,如果要跟踪的线程是 UMS 工作线程,则挂起 UMS 计划程序线程可能会导致死锁,因为 UMS 工作线程需要 UMS 计划程序线程的干预才能运行。 调试器可以为它可能挂起以确定线程类型的每个线程调用 GetUmsSystemThreadInformation ,然后根据所调试代码的需要将其挂起或未暂停。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 带 SP1 的 Windows 7 [仅限桌面应用],Windows 7 (仅 64 位) 和安装了 KB977165 的 Windows Server 2008 R2 |
最低受支持的服务器 | Windows Server 2008 R2 SP1 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |
API 集 | windows 7 中引入的 api-ms-win-core-ums-l1-1-0 () |