GetThreadContext失败 - GetLastError返回998

时间:2013-07-12 00:56:43

标签: c# .net

所以我遇到了GetThreadContext的问题。我能够创建暂停的进程,但在尝试GetThreadContext时失败。它在调用GetLastError时返回错误代码“998”。它只在X64上失败,而不在X86上失败。

行:

IntPtr[] pInfo = new IntPtr[4];
uint[] ctxt = new uint[0xb3];
ctxt[0] = 0x10002;
if (GetThreadContext(pInfo[1], ctxt))
{
    //Other stuff done here
}

1 个答案:

答案 0 :(得分:1)

您创建的进程是否为32位进程?如果在64位Windows上,您需要调用Wow64GetThreadContext来获取它的上下文。

来自GetThreadContext文档:

  

64位应用程序可以使用检索WOW64线程的上下文   Wow64GetThreadContext函数。

您还可以将.NET应用程序标记为x86,以便它在64位Windows上以32位进程运行。