bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1118回复:5

请教关于应用程序和VXD通信的问题!!!

楼主#
更多 发布于:2004-01-08 13:05
刚学做了一个VXD,VXD通过OnW32DeviceIoControl消息函数可以获得应用程序传递过来的主窗口指针,现在我想把应用程序中的一个LPBYTE指针(开辟了很大一块内存)传递过来并读取数据,试了一下总是死机,请教各位大侠应该怎么做才行?
我要打印驱动dad
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-08 16:04
应用程序和驱动程序共享缓冲区是吧?可以的,好像应该驱动程序开辟缓冲区,然后指针送给应用程序吧。时间太久记不清了
Tomorrow Never Die
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-13 10:35
大侠说的对,是VXD程序开辟缓冲区再把指针传给应用程序,但我试了试用的是_PageAllocate函数开辟缓冲区,得到一个物理地址和线性地址,也不知道对不对,我然后在VXD程序里读写线性地址指向的内存,但是不行,物理地址也不行。
是不是_PageAllocate函数用的不对,它有十个参数,最后两个我没搞明白。
如果大侠还记得的话,请指点一二。
我要打印驱动dad
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2004-01-13 11:31
在WIN9X下没必要用驱动,可以直接在任何时候进RING0获得任何信息。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-14 10:12
大侠说的对,是VXD程序开辟缓冲区再把指针传给应用程序,但我试了试用的是_PageAllocate函数开辟缓冲区,得到一个物理地址和线性地址,也不知道对不对,我然后在VXD程序里读写线性地址指向的内存,但是不行,物理地址也不行。
是不是_PageAllocate函数用的不对,它有十个参数,最后两个我没搞明白。
如果大侠还记得的话,请指点一二。

说实话我对物理地址线性地址现在还是一头雾水呢
我的方法就是,VXD驱动程序建立一个全局数组,然后将指针传给应用程序,算是比较苯的方法了。这个缓冲区上下就可以供用了
Tomorrow Never Die
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-16 10:42
谢谢楼上的,我再试试。
还有楼上的楼上的大侠说的我还不太明白啊~~~~~~~~~~~
我要打印驱动dad
游客

返回顶部