阅读:1082回复:8
快速抢答!
如果WDM中有一块内存,buffer1,这时
NewBuffer = ExAllocatePool(NonPagedPool,NewBufferSize); 然后 RtlCopyMemory(NewBuffer,buffer1,BufferSize); buffer1 = Newbuffer 问现在内存中有几块buffer。 a 一块 NewBuffer b 两块 NewBuffer 与 buffer1 |
|
|
沙发#
发布于:2002-07-31 08:58
答2块,呵呵!
|
|
板凳#
发布于:2002-07-31 08:58
有正确的吗?
NewBuffer是就一个,可是buffer1以前指向的那块还在啊。 a倒是不错。 |
|
地板#
发布于:2002-07-31 09:02
有正确的吗? 我也觉得是一块。这是Chris Cant例子中的WDM1。程序的作用是,如果写入的数据比缓存大则扩大缓存,从例子的宗旨看,应该是一块内存。 可是以前的一块怎么消失的呢? 第一个答对的,和解释清楚的才有分哦。 |
|
|
地下室#
发布于:2002-07-31 09:02
有正确的吗? 楼上的说的对呀,没有正确答案吧 |
|
|
5楼#
发布于:2002-07-31 09:05
buffer1是从哪来?
|
|
6楼#
发布于:2002-07-31 09:06
buffer1是从哪来? buffer1 是程序开始时, 用ExAllocatePool(NonPagedPool,BufferSize1);得到的。 |
|
|
7楼#
发布于:2002-07-31 09:11
buffer1 = Newbuffer
不释放的吗?! |
|
8楼#
发布于:2002-07-31 09:26
应该是两块。
还有一块没有释放。呵呵 应该copy后,ExFreePool()。 |
|
|