首页
社区
课程
招聘
[求助]誰能帮我讲讲IoGetTopLevelIrp这个函数
发表于: 2008-9-14 16:48 7952

[求助]誰能帮我讲讲IoGetTopLevelIrp这个函数

2008-9-14 16:48
7952
如题,我已经看这DDK了,但是没看懂!到底他有什么用啊。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 750
活跃值: (227)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
2
提示:IoGetTopLevelIrp(),利用这个来检查是Kernel其他driver产生的Irp还是Usermode直接产生(当然是通过FileIO的API)的Irp。如果是FS产生的Irp,之前一定有过该Usermode对应的Irp被Pass。(关于CacheManager怎么运作,可能你得去看一下MSDN)。

  如果是Usermode直接下來的Irp,检查其Flag。在有PAGING_IO和NONCACHE_IO两个Flag时,FS不会去跟CacheManager要这段资料。所以不会有第2个Irp出現。

。。。。。

     我也不是很懂,百度来的,我还没有接触这类东西,这个应该对你有帮助,希望楼主多多开源,让大家学习学习,具体看下这里:358K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8J5L8$3N6J5j5h3#2E0k6i4u0Q4x3X3c8U0L8s2g2T1i4K6u0W2j5$3!0E0i4K6u0r3M7r3x3J5x3o6t1H3N6U0g2Q4x3V1k6X3L8%4u0#2L8g2)9J5c8W2y4Z5L8%4N6e0j5h3#2W2g2r3W2@1L8r3g2z5i4K6u0W2j5i4y4H3i4K6y4r3g2g2u0x3i4K6y4p5e0W2)9J5y4X3u0G2j5i4u0V1i4K6g2X3M7r3x3J5x3o6t1H3i4K6y4p5k6s2u0A6N6X3g2J5i4K6t1$3K9h3c8Q4x3@1b7I4x3U0x3I4
2008-9-15 12:57
0
雪    币: 71
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
我也搞不懂,只找到这个
VOID
STDCALL
IoSetTopLevelIrp (
        IN        PIRP        Irp
        )
{
        PETHREAD Thread;

        Thread = PsGetCurrentThread ();
        Thread->TopLevelIrp->TopLevelIrp = Irp;
}

PIRP
STDCALL
IoGetTopLevelIrp (
        VOID
        )
{
        return (PsGetCurrentThread ()->TopLevelIrp->TopLevelIrp);
}
2008-9-17 13:09
0
游客
登录 | 注册 方可回帖
返回