SetThreadContext 函数 (processthreadsapi.h)

设置指定线程的上下文。

注释

64 位应用程序可以使用 Wow64SetThreadContext 函数设置 WOW64 线程的上下文。

语法

BOOL SetThreadContext(
  [in] HANDLE        hThread,
  [in] const CONTEXT *lpContext
);

参数

[in] hThread

要设置其上下文的线程的句柄。 句柄必须具有对线程THREAD_SET_CONTEXT访问权限。 有关详细信息,请参阅 线程安全和访问权限

[in] lpContext

指向包含指定线程中设置的上下文的 CONTEXT 结构的指针。 此结构的 ContextFlags 成员的值指定要设置的线程上下文的哪些部分。 无法指定的 CONTEXT 结构中的某些值会以无提示方式设置为正确的值。 这包括 CPU 状态寄存器中的位,这些位指定特权处理器模式、调试寄存器中的全局启用位,以及作系统必须控制的其他状态。

返回值

如果设置了上下文,则返回值为非零。

如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError

注解

该函数基于 上下文结构的 ContextFlags 成员的值设置线程上下文。 hThread 参数标识的线程通常正在调试,但即使未调试线程,该函数也可以运行。

不要尝试为正在运行的线程设置上下文;结果不可预知。 在调用 SetThreadContext 之前,使用 SuspendThread 函数挂起线程。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows操作系统
标头 processthreadsapi.h (包括 Windows.h)
图书馆 内核 32.lib
DLL Kernel32.dll

另请参阅

上下文

调试函数

GetThreadContext

GetXStateFeaturesMask

SetXStateFeaturesMask

SuspendThread