读书人

请问一个得到当前线程的有关问题

发布时间: 2012-09-11 10:49:03 作者: rapoo

请教一个得到当前线程的问题!
内核PsGetCurrentThread()里是用KeGetCurrentThread(void)来实现的,再往下大概是这样子的,只是个大概,别对话入座

C/C++ code
PRKTHREAD FORCEINLINE KeGetCurretThread(void){ return ((PKIPCR)KeGetPcr()->PrcbData.CurrentThread);}

然而这里的KeGetPcr我没有看懂,他的定义是如下的:
C/C++ code
#if !defined(CONFIG_SMP) && !defined(NT_BUILD)#define KeGetPcr()                      PCR#else#define KeGetPcr()                      ((volatile KPCR * const)__readfsdword(0x1C))#endif

这个上面我没有看懂,麻烦请详细指教!谢谢!

[解决办法]
__readfsdword(0x1C)
==>
mov eax , fs[0x1C]

读书人网 >VC/MFC

热点推荐