beaveror
驱动中牛
驱动中牛
  • 注册日期2002-06-13
  • 最后登录2003-07-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1082回复:8

快速抢答!

楼主#
更多 发布于:2002-07-31 08:53
如果WDM中有一块内存,buffer1,这时
NewBuffer = ExAllocatePool(NonPagedPool,NewBufferSize);
然后
RtlCopyMemory(NewBuffer,buffer1,BufferSize);
buffer1 = Newbuffer
问现在内存中有几块buffer。
a 一块 NewBuffer
b 两块 NewBuffer 与 buffer1
只要能解决问题,就一定给分。 希望高手赐教!
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-31 08:58
答2块,呵呵!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-07-31 08:58
有正确的吗?
NewBuffer是就一个,可是buffer1以前指向的那块还在啊。
a倒是不错。
beaveror
驱动中牛
驱动中牛
  • 注册日期2002-06-13
  • 最后登录2003-07-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-31 09:02
有正确的吗?
NewBuffer是就一个,可是buffer1以前指向的那块还在啊。
a倒是不错。


我也觉得是一块。这是Chris Cant例子中的WDM1。程序的作用是,如果写入的数据比缓存大则扩大缓存,从例子的宗旨看,应该是一块内存。
可是以前的一块怎么消失的呢?

第一个答对的,和解释清楚的才有分哦。
只要能解决问题,就一定给分。 希望高手赐教!
gxjt
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2006-06-07
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-31 09:02
有正确的吗?
NewBuffer是就一个,可是buffer1以前指向的那块还在啊。
 

楼上的说的对呀,没有正确答案吧
[color=red] “阿弥陀佛,无上医王,舍此不求,是谓痴狂。” “一句弥陀,阿伽陀药,舍此不服,是谓大错。” 南无阿弥陀佛......[/color]
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-07-31 09:05
buffer1是从哪来?
beaveror
驱动中牛
驱动中牛
  • 注册日期2002-06-13
  • 最后登录2003-07-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-31 09:06
buffer1是从哪来?

buffer1 是程序开始时,
用ExAllocatePool(NonPagedPool,BufferSize1);得到的。
只要能解决问题,就一定给分。 希望高手赐教!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-07-31 09:11
buffer1 = Newbuffer
不释放的吗?!
beaveror
驱动中牛
驱动中牛
  • 注册日期2002-06-13
  • 最后登录2003-07-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-07-31 09:26
应该是两块。
还有一块没有释放。呵呵
应该copy后,ExFreePool()。

只要能解决问题,就一定给分。 希望高手赐教!
游客

返回顶部