设置指定线程的上下文。
注释
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 |