阅读:1154回复:0
如何将驱动程序中的参数传给应用层
我是用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); |
|
|