QueryUmsThreadInformation 函数 (winbase.h)

检索有关指定用户模式计划的信息 (UMS) 工作线程。

警告

自Windows 11起,不支持用户模式计划。 所有调用都失败,并出现错误 ERROR_NOT_SUPPORTED

语法

BOOL QueryUmsThreadInformation(
  [in]            PUMS_CONTEXT          UmsThread,
  [in]            UMS_THREAD_INFO_CLASS UmsThreadInfoClass,
  [out]           PVOID                 UmsThreadInformation,
  [in]            ULONG                 UmsThreadInformationLength,
  [out, optional] PULONG                ReturnLength
);

参数

[in] UmsThread

指向 UMS 线程上下文的指针。

[in] UmsThreadInfoClass

一个 UMS_THREAD_INFO_CLASS 值,该值指定要检索的信息类型。

[out] UmsThreadInformation

指向用于接收指定信息的缓冲区的指针。 此缓冲区的所需大小取决于指定的信息类。

如果信息类是 UmsThreadContextUmsThreadTeb,则缓冲区必须为 sizeof(PVOID)

如果信息类是 UmsThreadIsSuspendedUmsThreadIsTerminated,则缓冲区必须为 sizeof(BOOLEAN)

[in] UmsThreadInformationLength

UmsThreadInformation 缓冲区的大小(以字节为单位)。

[out, optional] ReturnLength

指向 ULONG 变量的指针。 输出时,此参数接收写入 UmsThreadInformation 缓冲区的字节数。

返回值

如果函数成功,则返回非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 可能的错误值包括以下内容。

返回代码 说明
ERROR_INFO_LENGTH_MISMATCH
缓冲区太小,无法获取请求的信息。
ERROR_INVALID_INFO_CLASS
不支持指定的信息类。
ERROR_NOT_SUPPORTED
不支持 UMS。

注解

QueryUmsThreadInformation 函数检索有关指定 UMS 工作线程的信息,例如其应用程序定义的上下文、其线程执行块 (TEB) ,以及线程是挂起还是终止。

UMS 工作线程的基础结构由系统管理。 未通过 QueryUmsThreadInformation 公开的信息应被视为保留信息。

要求

要求
最低受支持的客户端 仅 Windows 7 (64 位) [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll
API 集 windows 7 中引入的 api-ms-win-core-ums-l1-1-0 ()

另请参阅

SetUmsThreadInformation

UMS_THREAD_INFO_CLASS