jping
驱动牛犊
驱动牛犊
  • 注册日期2001-11-21
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1284回复:8

新手老问题,如何从VXD向app传递数据?

楼主#
更多 发布于:2002-08-12 10:44
没有书看,只好来问了。
好好学习 天天向上
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-12 10:56
app用DeviceIoControl可以向VxD传递参数。VxD利用这个参数可以向VxD传数据。具体我记不清了,还是看书把,挺简单的 :D
我不仅要金子,我还要点石成金的手指!
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-12 10:57
app用DeviceIoControl可以向VxD传递参数。VxD利用这个参数可以向VxD传数据。具体我记不清了,还是看书把,好像挺简单的 :D
我不仅要金子,我还要点石成金的手指!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-08-12 11:03
可以是app主动的向vxd要数据,通过deviceiocontrol
也可以是vxd主动的通知app,用apc
或者是用event来通信。
书上没有讲吗?
jping
驱动牛犊
驱动牛犊
  • 注册日期2001-11-21
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-12 12:03
可以是app主动的向vxd要数据,通过deviceiocontrol
也可以是vxd主动的通知app,用apc
或者是用event来通信。
书上没有讲吗?


我就是没有找到书看啊,网上下的有问题,我准备去西单图书大厦去买,这几天去不了,可能周末去,可以给我介绍一本么?
或者给我简单的讲讲用deviceiocontrol怎么写吧。比如vxd要传递一个struct myStruct。

谢谢了
好好学习 天天向上
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-08-12 12:16
不是写过了吗。。。

在app,
MY_STRUCT mystruct;
...
if(!DeviceIoControl(hDriver, MY_CODE, &mystuct/* in buffer*/, sizeof(MY_STRUCT)/*in buffer size*/, NULL/*out buffer*/, 0/*out buffer size*/, NULL))
{
   //error
}

在vxd的DevceiIoControl消息;
MY_STRUCT *pmyStruct;
switch(...)
{
  case ..
  case MY_CODE
     pmyStruct=(MY_STRCUT*)p->InBuf;//用一个pointer指向你的struct
     break;
}
...
pmystruct->xxx = xxx;
jping
驱动牛犊
驱动牛犊
  • 注册日期2001-11-21
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-12 22:29
不是写过了吗。。。

在app,
MY_STRUCT mystruct;
...
if(!DeviceIoControl(hDriver, MY_CODE, &mystuct/* in buffer*/, sizeof(MY_STRUCT)/*in buffer size*/, NULL/*out buffer*/, 0/*out buffer size*/, NULL))
{
   //error
}

在vxd的DevceiIoControl消息;
MY_STRUCT *pmyStruct;
switch(...)
{
  case ..
  case MY_CODE
     pmyStruct=(MY_STRCUT*)p->InBuf;//用一个pointer指向你的struct
     break;
}
...
pmystruct->xxx = xxx;


对不起,您看错了,我说的是从VXD传递数据到app,不是从app传递数据到VXD。
不过我已经自己写好了,当然是受了您的启发。谢谢。
好好学习 天天向上
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-08-13 08:25
一样的啊,如果用deviceiocontrol的方法。
app的改成pointer,在vxd声明struct
jacobqzl
驱动小牛
驱动小牛
  • 注册日期2001-10-10
  • 最后登录2005-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-08 20:06
vxd如何实时向app传递数据呢?
游客

返回顶部