Sev*_*yev 6 windows winapi windows-runtime
在Windows中,长期以来很常见的是,如果没有记录,可以在FS:0找到当前线程的线程信息块(TIB).但这仅适用于首先存在FS寄存器的Intel CPU.现在我想在基于ARM的Windows系统(Windows Phone和Windows RT)上访问TIB.请问有API吗?
编辑:我想获得崩溃报告的线程堆栈基础.
有关TIB/TEB的信息:http://www.microsoft.com/msj/archive/S2CE.aspx
Igo*_*sky 10
该宏NtCurrentTeb()适用于winnt.h所有受支持的体系结构,包括ARM(Windows RT):
#if defined(_M_ARM) && !defined(__midl) && !defined(_M_CEE_PURE)
__forceinline
struct _TEB *
NtCurrentTeb (
VOID
)
{
return (struct _TEB *)(ULONG_PTR)_MoveFromCoprocessor(CP15_TPIDRURW);
}
Run Code Online (Sandbox Code Playgroud)
要回答您发布的问题,您可以使用NtQueryInformationThread()检索THREAD_BASIC_INFORMATION结构,该结构包含指向TIB其TebBaseAddress成员中的线程的指针.
| 归档时间: |
|
| 查看次数: |
3005 次 |
| 最近记录: |