函数之ExAllocatePool--内存分配
来源:互联网 发布:directx 11 编程 编辑:程序博客网 时间:2024/04/29 00:00
如同C里面的malloc一样,内核模式下的ExAllocatePool也是非常重要的.但是一说到ExAllocatePool函数就不得不提ExAllocatePoolWithTag函数.对比一下两个函数的调用方式:
PVOID p = ExAllocatePool(Pool_Type, Size);
PVOID p = ExAllocatePoolWithTag(Pool_Type, Size, Tag);
在调用ExAllocatePoolWithTag的时候,系统会在要求的内存大小的基础上再额外多分配4个字节的标签.这个标签占用了开始的4个字节,位于返回指针所指向地址的前面.这样,当调试时这个标签可以帮助你识别有问题的内存块.
在WDM.H(NTDDK.H)中声明了,内存分配函数无条件受预处理宏POOL_TAGGING控制(POOL_TAGGING被无条件的定义).因此,即便是调用的ExAllocatePool函数,实际执行的却是:ExAllocatePoolWithTag,其加入的标签为"mdW",指明是WDM的内存块.
又或者你强行关闭POOL_TAGGING宏再去调用ExAllocatePool,实际执行的还是ExAllocatePoolWithTag,并带标签"enoN".
因此,建议在分配内存时,直接调用ExAllocatePoolWithTag并加上一个自定义的标签.
- 函数之ExAllocatePool--内存分配
- 函数之ExAllocatePool--内存分配
- 函数之ExAllocatePool--内存分配
- 内存分配函数 ExAllocatePool ExAllocatePoolWithTag
- ExAllocatePool函数
- ExAllocatePool函数
- ExAllocatePool函数
- 内存分配函数
- 内存分配函数
- 内存分配函数总结
- 内存分配函数总结
- 内存分配函数总结
- 内存分配函数
- 函数分配内存
- 内存块分配函数
- 内存分配函数
- 内存分配函数总结
- linux内存分配函数
- Gzip的官方网址
- 用WINSOCK API实现同步阻塞方式的网络通讯
- FF IE 兼容
- 微软建议的ASP性能优化28条守则
- 如何获得outlook Express地址簿/Windows Address Book(WAB)的信息
- 函数之ExAllocatePool--内存分配
- XML解析
- VSS中添加用户与修改密码
- 数与诗的后现代对话
- input和textarea设置文本选中和获取选中文本
- Ubuntu查看当前IP地址
- iphone弹出键盘部分按键禁用
- Android类库常用类型解析
- 软件版本管理