首页
社区
课程
招聘
[求助]ExAllocatePool求助
2022-4-18 21:40 7264

[求助]ExAllocatePool求助

2022-4-18 21:40
7264

在windows内核中,我看很多代码都用ExAllocatePool申请内存,但是MSDN上说说这个API在新系统中已经过时了,让我用ExAllocatePool2。
但是这个ExAllocatePool2,它的第三个参数到底是个啥?我看微软例子,就填了个abcd,这到底啥意思啊?我不太明白这个池标记是什么……

 

然后假如我原先的代码如下:
ULONG BufferSize = 0x10000;
void Buffer = ExAllocatePool(NonPagedPool, BufferSize);
我按照微软的改,是不是应该改成下面的?
ULONG BufferSize = 0x10000;
void
Buffer = ExAllocatePool2(POOL_FLAG_NON_PAGED, BufferSize, 'abcd');
NonPagedPool应该对应POOL_FLAG_NON_PAGED吧?我看它们都是非分页内存的意思……用非分页内存,代码执行完毕了立即释放,应该没问题吧?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 4035
活跃值: (1971)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
UFO 2022-4-19 00:42
2
0
第三个参数 就是一个唯一标识而已,区分内存块从哪个程序区分配出来的,为程序 调试 或 查找内存泄露源 指示方向
雪    币: 8104
活跃值: (4391)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
sunsjw 1 2022-4-19 09:29
3
0
就是给这块内存起个名字。
雪    币: 6287
活跃值: (3812)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大鲤鱼 2022-4-19 22:12
4
0
sunsjw 就是给这块内存起个名字。
谢谢!
雪    币: 6287
活跃值: (3812)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大鲤鱼 2022-4-19 22:12
5
0
谢谢!
游客
登录 | 注册 方可回帖
返回