内核API之IoAllocateMdl
来源:互联网 发布:送货单打印软件系统 编辑:程序博客网 时间:2024/04/30 02:08
IoAllocateMdl
IoAllocateMdl 函数分配足够映射一块缓存的MDL,给定缓存的起始地址和长度.
PMDL
IoAllocateMdl(
__in_opt PVOID VirtualAddress,
__in ULONG Length,
__in BOOLEAN SecondaryBuffer,
__in BOOLEAN ChargeQuota,
__inout_opt PIRP Irp OPTIONAL
);
驱动可以使用IoAllocateMdl 函数实现大缓存分片的目的,通过一个独立的MDL来映射缓存的一小部分,或者映射驱动分配的内存.驱动会调用MmBuildMdlForNonPagedPool 来设置MDL的内存,使得MDL描述驱动分配的缓存处于不可置换的内存中。
Length参数指明了MDL指向的缓存的大小。在Windows Server 2003, Windows XP, 和Windows 2000, 能够分配的最大缓存字节数为PAGE_SIZE * (65535 -sizeof(MDL)) / sizeof(ULONG_PTR)。在Windows Vista和Windows Server 2008, 最大缓存字节数是(2GB - PAGE_SIZE).在Windows 7和Windows Server 2008 R2中, 最大缓存字节数是(4GB - PAGE_SIZE).
如果SecondaryBuffer参数是FALSE, 这个函数会更新Irp->MdlAddress ,让它指向一个新的MDL, 也就是说让它支持大缓存分片吧。 如果SecondaryBuffer为TRUE, 这个函数把MDL添加到Irp->MdlAddress指向的链之后。
- 内核API之IoAllocateMdl
- 内核API之IoAllocateMdl
- IoAllocateMdl
- 内核API笔记之IoBuildPartialMdl
- 内核API笔记之IoBuildPartialMdl
- Windows内核API HOOK 之 Inline Hook
- Windows内核API HOOK 之 Inline Hook
- Windows 内核API HOOK 之 Inline Hook
- Windows内核API HOOK 之 Inline Hook
- IoAllocateMdl,MmProbeAndLockPages的用法
- IoAllocateMdl,MmProbeAndLockPages的用法
- IoAllocateMdl,MmProbeAndLockPages的用法
- 内核API
- Linux 内核设备驱动之GPIO驱动之GPIO API
- Windows内核API HOOK
- 内核源码API
- windows内核API种类
- linux内核api参考手册
- 使用 Spring 2.5 注释驱动的 IoC 功能
- 有关上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别
- Asynchronous Code Design with Node.js
- MPC5125初始化DDR2 SDRAM那些事儿
- 网上看到的一篇关于y2kupdate的东西 怀疑自己的ubuntu服务器被黑。。
- 内核API之IoAllocateMdl
- C/C++文件操作 (2)
- 浙江省第九届程序设计竞赛总结
- 迎接HTML5:10个网页设计小工具推荐
- input子系统 学习
- USB 驱动学习
- ASM(active shape models)算法介绍
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- 请教程立涛 关于 erlang game 的入手