SetThreadContext函数设置指定线程中的上下文。
BOOL SetThreadContext(
HANDLE 【hThread】, | //使用上下文处理线程 |
CONST CONTEXT *【lpContext】 | //上下文结构的地址 |
); |
参数
【hThread】
标识要写入上下文的线程的打开句柄。
Windows NT:句柄必须对线程具有THREAD_SET_CONTEXT访问权限。有关详细信息,请参阅线程对象.
【lpContext】
指向包含要在指定线程中设置的上下文的CONTEXT结构的地址。此结构的ContextFlags成员的值指定要设置的线程的上下文的哪些部分。无法指定的CONTEXT结构中的某些值将默认设置为正确的值。这包括指定特权处理器模式的CPU状态寄存器中的位,调试寄存器中的全局使能位以及必须由操作系统控制的其他状态。
返回值
如果设置了上下文,则返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
该函数允许基于上下文结构的ContextFlags成员的值来设置选择性上下文。由【hThread】参数标识的线程句柄通常被调试,但即使没有被调试,该函数也可以运行。
不要尝试为正在运行的线程设置上下文;结果是不可预测的。使用SuspendThread函数在调用SetThreadContext之前挂起线程。
也可以看看