SetThreadContext 函数 (processthreadsapi.h)

设置指定的线程的上下文。

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

语法

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

parameters

[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)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CONTEXT

调试函数

GetThreadContext

GetXStateFeaturesMask

SetXStateFeaturesMask

SuspendThread