xs1986
驱动牛犊
驱动牛犊
  • 注册日期2002-07-26
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望12点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:1045回复:2

内存?

楼主#
更多 发布于:2002-08-20 00:43
在驱动程序中开的数组(静态的)会被交换到硬盘上吗?

因为要作DMA操作,所以要它固定,该怎么办?
denizen
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2012-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-20 07:55
内核模式中的基本堆分配函数是ExAllocatePool。调用方式如下:

PVOID p = ExAllocatePool(type, nbytes);
type为NonPagedPool时,从非分页内存池中分配内存;
type为PagedPool时,从分页内存池中分配内存。
要锁定该数据段时用MmLockPagableDataSection。
 
Where there is a will, there is a road.
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-08-20 08:23
最好不要在driver做开数组这样的事情,内核堆栈很宝贵的,从pool动态分配。
游客

返回顶部