找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 8207|回复: 11

关于驱动通信的一个疑问,就一个!

 火... [复制链接]

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-8-10 00:07:09 | 显示全部楼层 |阅读模式

驱动里的:

#define IOCTL_ULR3IN CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800,METHOD_BUFFERED, FILE_ANY_ACCESS)


VB里的:


With DrvController

.IoControl .CTL_CODE_GEN(控制代码), VarPtr(变量),4, 0, 0

End With


这两个里面的两个红色的部分,应不应该是一个东西?

也就是说,VB里面的那个控制代码,是不是0x800?




857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 09:06:06 | 显示全部楼层

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-10 09:33:26 | 显示全部楼层
也就是说
With DrvController

.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0

End With

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 10:51:56 | 显示全部楼层

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-10 11:06:21 | 显示全部楼层
With DrvController

.IoControl .CTL_CODE_GEN(0x800), VarPtr(1234),4, 0, 0

End With

这个1234也能传递过去?
怎么接收?

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 12:58:58 | 显示全部楼层
能,接收方式一样

6

主题

196

回帖

0

精华

铜牌会员

菜鸟

积分
52
发表于 2010-8-10 14:53:54 | 显示全部楼层
本帖最后由 xiaoly99 于 2010-8-10 14:55 编辑

回复 3# ok100fen
不是
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
这些问题统统问TA吧......
  1. ok100fen 20:35:42
  2. 这句代码里的801是怎么回事?
  3. 固定值?
复制代码

可以是1234也可以是0xFF.
我想撞死在墙上啊......

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-8-10 15:59:29 | 显示全部楼层
回复  ok100fen
不是
.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0
这些问题统统问TA吧.... ...
xiaoly99 发表于 2010-8-10 14:53



0x800的值可以修改,以后这些问题你统统问Zzzians吧。

评分

参与人数 1水晶币 +2 收起 理由
本网站最菜的人 + 2 我永远遵循我来的时候说的宗旨

查看全部评分

6

主题

196

回帖

0

精华

铜牌会员

菜鸟

积分
52
发表于 2010-8-10 18:20:30 | 显示全部楼层
&H800
你们怎么就没有发现呢

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-10 19:57:46 | 显示全部楼层
我的理解:

与驱动通讯,就是用deviceiocontrol向驱动发指令,而驱动在Parameters.DeviceIoControl.IoControlCode里面得到这个指令.

看起来有些类似SendMessage+子类化取消息的过程,哈.
我就是嗷嗷叫的老马了......

90

主题

473

回帖

2

精华

钻石会员

积分
3261
 楼主| 发表于 2010-8-10 20:38:24 | 显示全部楼层
有点乱,捋一捋

With DrvController

.IoControl .CTL_CODE_GEN(0x800), VarPtr(变量),4, 0, 0

End With

红色的这个0x800到底可不可以随便写?
和驱动里的哪个量有关系?
本网站最菜的人 该用户已被删除
发表于 2010-8-11 22:35:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表