Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1211回复:6

VXD中的内存问题

楼主#
更多 发布于:2002-10-21 14:30
我的程序需要在VXD中直接引用一段应用层分配的内存,在WIN2K中我已经做到了,请问一下在VXD中该怎么做?
另:在VXD中用malloc分配的内存是否可以锁定使之不被交换到页面文件中?
谢谢
易水
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-21 17:59
你是否搞错了,你能在Driver中直接引用Ring3的地址空间吗?我是说你没有进行地址转换直接引用。
我们经常提到在Win9X到WinXP中应用程序有4G地址空间,其中2G为Ring3、2G为Ring0(通常情况下),并且这是虚拟地址空间呀?通过Window的分段来实现的,同时分页机制也可能存在,因此你在Ring3中对应进程1的虚拟地址和进程2的同一个虚拟地址是不一样的,有着不同的物理地址,你怎么能这样应用呢?除非你保证Driver中不进行中断、任务切换等?如果TR等被修改恐怕就有蓝屏现象咯,当然如果只是读出现的几率小些,但是写就不好说了。

我不知道你是不是想实现一种Ring0、Ring3共享内存的方法,如果是这样,你可在网上收索一下,有很多这样的文章



我的程序需要在VXD中直接引用一段应用层分配的内存,在WIN2K中我已经做到了,请问一下在VXD中该怎么做?
另:在VXD中用malloc分配的内存是否可以锁定使之不被交换到页面文件中?
谢谢
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-10-21 20:13
不好意思,没有说清楚。
我就是想让VXD与APP共享一块内存而已。
易水
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-10-22 18:43
TMD!我找到的网址都不能访问了:(
哪位能提供一个可以访问的?
谢了先
易水
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-10-22 18:55
我的程序需要在VXD中直接引用一段应用层分配的内存,在WIN2K中我已经做到了,请问一下在VXD中该怎么做?
另:在VXD中用malloc分配的内存是否可以锁定使之不被交换到页面文件中?
谢谢

在VxD把app分配的内存lock,保证他不被换出去。具体函数忘了。 :D好像是什么page_lock什么的。看help吧。
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-10-25 09:20
我做到了,
分配锁定的内存用_PageAllocate
锁定来自应用层的内存用LinPageLock
不过真是奇怪,_PageAllocate不是有8个参数吗?可是我的编译器提示我它有10个参数。有人能解释一下吗?
易水
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
6楼#
发布于:2002-10-25 09:31
VtoolsD的PageAllocate有十个参数,与DDK不同
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
游客

返回顶部