能力值:
( LV12,RANK:250 )
|
-
-
2 楼
执行DPC的线程ID,由于DPC不属于某个线程,所以获取的线程ID不是固定的
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
哦,dpc返回线程号是不固定的啊。我原来以为,如果dpc返回为0,或者0xffffffff,那就可以判断现在是在执行dpc例程。比如我原来设计是这样的,我hook磁盘irp操作,那么任何现成都可能发出磁盘读写irp,dpc也可能发出磁盘irp,所有的irp都要执行到我hook的代码处,我在此处要判断,这个irp是普通线程发出来的,还是dpc发出来的?我本来以为PsGetCurrentThreadId可以返回一个值,表明是dpc发出来的irp,看来这样行不通啊。那怎样判断当前是dpc发出irp执行到我的hook代码处了呢?
|
|
|