关于驱动通信的一个疑问,就一个!
驱动里的:#define IOCTL_ULR3IN CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800,METHOD_BUFFERED, FILE_ANY_ACCESS)VB里的:
With DrvController.IoControl .CTL_CODE_GEN(控制代码), VarPtr(变量),4, 0, 0End With
这两个里面的两个红色的部分,应不应该是一个东西?也就是说,VB里面的那个控制代码,是不是0x800?
是 也就是说
With DrvController
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
End With 是 With DrvController
.IoControl .CTL_CODE_GEN(0x800), VarPtr(1234),4, 0, 0
End With
这个1234也能传递过去?
怎么接收? 能,接收方式一样 本帖最后由 xiaoly99 于 2010-8-10 14:55 编辑
回复 3# ok100fen
不是
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
这些问题统统问TA吧......
ok100fen 20:35:42
这句代码里的801是怎么回事?
固定值?
可以是1234也可以是0xFF.
我想撞死在墙上啊...... 回复ok100fen
不是
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
这些问题统统问TA吧.... ...
xiaoly99 发表于 2010-8-10 14:53 http://www.m5home.com/bbs/images/common/back.gif
0x800的值可以修改,以后这些问题你统统问Zzzians吧。 &H800
你们怎么就没有发现呢 我的理解:
与驱动通讯,就是用deviceiocontrol向驱动发指令,而驱动在Parameters.DeviceIoControl.IoControlCode里面得到这个指令.
看起来有些类似SendMessage+子类化取消息的过程,哈. 有点乱,捋一捋
With DrvController
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
End With
红色的这个0x800到底可不可以随便写?
和驱动里的哪个量有关系?
页:
[1]