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 |