阅读:1406回复:1
如何将驱动程序中的参数传回应用层?
我用kerneldriver开发驱动,使用的METHOD_NEITHER方式。
我定义一个结构来传递所有的参数。 typedef struct { long speed; short int channel; }vib_get_speed; 在dispatchdevicecontrol(..)中: case xxx_ioctrol_xxx: { ... vib_get_speed getspeed; ... getspeed.speed=speed; getspeed.channel=channel; (vib_get_speed *)Irp.UserBuffer()=getspeed;//这样好像不行, 是不是不能在他们之间传递地址呀 能给我指条明路吗?鞠躬了! |
|
最新喜欢:changb...
|
沙发#
发布于:2001-09-11 12:50
[QUOTE]原本由 hiker 发表
[B]我用kerneldriver开发驱动,使用的METHOD_NEITHER方式。 我定义一个结构来传递所有的参数。 typedef struct { long speed; short int channel; }vib_get_speed; 在dispatchdevicecontrol(..)中: case xxx_ioctrol_xxx: { ... vib_get_speed getspeed; ... getspeed.speed=speed; getspeed.channel=channel; (vib_get_speed *)Irp.UserBuffer()=getspeed;//这样好像不行, 是不是不能在他们之间传递地址呀 能给我指条明路吗?鞠躬了! [/B][/QUOTE] 可以用下面的方法传递 case xxx_ioctrol_xxx: { ... vib_get_speed* getspeed=(vib_get_speed*)Irp.UserBuffer(); ... getspeed->speed=speed; getspeed->channel=channel; |
|