求助,关于W32THREAD的问题?
Windows内核调试
求助,关于W32THREAD的问题?
aa1ss2
2009-07-22, 21:43 下午
在学习视窗报文时遇到了一个问题,书上描述_W32THREAD结构第一个域MessageQueue是指向线程的报文队列。但是我用Windbg看的时候_W32THREAD却完全不一样。
kd> dt nt!_KTHREAD win32thread 81d2a5b0
+0x130 Win32Thread : 0xe164d6a8
kd> dt win32k!_W32THREAD 0xe164d6a8
+0x000 pEThread : 0x81d2a5b0 _ETHREAD
+0x004 RefCount : 1
+0x008 ptlW32 : (null)
+0x00c pgdiDcattr : 0x003b0910
+0x010 pgdiBrushAttr : (null)
+0x014 pUMPDObjs : (null)
+0x018 pUMPDHeap : (null)
+0x01c dwEngAcquireCount : 0
+0x020 pSemTable : (null)
+0x024 pUMPDObj : (null)
很明显第一个域是所属的线程对象。
Windbg的结构应该是对的,那么包含报文队列的_W32THREAD在哪里呢?