阅读:1837回复:3
驱动申请内存池的问题
请问一下各位,我现在遇到有几台电脑用我的驱动时以下面的方式申请内存竟然失败(在大多数电脑上都是正常的)
#define DESIRESIZE 2048*1536 imageBuf=ExAllocatePool(NonPagedPool,DESIRESIZE*2); //非分页内存上申请 if(imageBuf==NULL) DbgPrint("InitializeDevice2\n"); 此时imageBuf为空,当我把DESIRESIZE改小一些,如:16600*1200则成功。我的电脑是奔四cpu,512M内存。此外我也尝试过 #define DESIRESIZE 2048*1536 imageBuf=ExAllocatePool(PagedPool,DESIRESIZE*2); 这种分配方式,在分页内存上分配空间的时候就成功了,但是我也比较担心他的可靠性,所以请教一下这样的问题该如何解决?是内存太小了吗?我觉得有点不是很合理。 |
|
沙发#
发布于:2007-01-31 10:18
自己顶起来
|
|
板凳#
发布于:2007-01-31 11:15
申请的内存太大了吧
我记得当初又一次申请6.4M的内存会导致机器蓝屏 |
|
地板#
发布于:2007-01-31 16:13
内存申请是比较大,但是我现在要申请那么大的空间应该怎么办才能实现呢?
|
|