hiker
驱动牛犊
驱动牛犊
  • 注册日期2001-07-19
  • 最后登录2003-01-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1154回复:0

如何将驱动程序中的参数传给应用层

楼主#
更多 发布于:2001-09-06 16:18
我是用kernerldriver来开发我的驱动,我使用METHOD_NEITHER方式,由于我需要返回多个参数,所以我定义一个结构,将所有参数放在结构中。下面是我的一些代码,希望大虾给指点一下:
typedef struct
{short int dataport;
short int statusport;
}vib_set_port;//input parameter

typedef struct
{
 long speed;
 short int channel;
 }vib_get_speed;//output parameter

在dispatchcontrol函数中:
。。。
case xxx_ioctrl_xxx:
   vib_set_port *pBuf=(vib_set_port*) Irp.IoctlType3InputBuffer();//我用pBuf获得由应用层传来的参数
。。。。。
在驱动程序中,我得出speed和channel后,我怎么传回去呢?
你看这样可行吗?
vib_get_speed getspeed;
getspeed.speed=speed;
getspeed.channel=channel;
*(vib_get_speed *)Irp.UserBuffer()=getspeed;//这一句中让我
最为怀疑的,那位给解决一下吧,鞠躬了!
Irp.Information()=sizeof(vib_get_speed);
在驱动开发的道路上艰苦的跋涉。
游客

返回顶部