sttypxx
驱动牛犊
驱动牛犊
  • 注册日期2001-05-17
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3053回复:4

Windows98下两种模式驱动程序的相互访问

楼主#
更多 发布于:2001-05-17 10:45
我在我的Windows98系统下安装了HID Mouse,并了解它使用了那些驱动程序,发现它使用了mouhid.vxd。我写过类鼠标的触摸屏驱动程序,知道在Windows9x下涉及鼠标处理的部件有mouse minidriver,
VMOUSE,Mouse.drv以及Windows USER模块。我使用过VMOUSE提供的服务来传递产生的触摸事件(转换为鼠标事件),另外也采用直接回调Windows 16位USER模块的方法。让我感到疑惑的是,我的驱动希望同时在98和2000下运行。对于2000,我建立一个MAPPER driver,将来自触摸屏的HID Report转换给Mouse class driver(mouclass.sys),这比较容易。对98我就感到为难,①如何写一个WDM驱动(98,2000都可以运行),这个驱动可以使用VMOUSE提供的服务或直接回调Windows 16位USER模块。②有没有别的路径?
请给予提示!!

最新喜欢:

flyajiflyaji
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2001-05-17 11:02
这是vxd和wdm的互相作用。站上有一篇文章。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
sttypxx
驱动牛犊
驱动牛犊
  • 注册日期2001-05-17
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-05-17 12:18
我在站上找了一下,发现《从VXD中调用WDM服务》这篇文章。但我觉得它不适合我的情况。由于VxD不可在2000下运行,故我会写WDM驱动程序并期望它在98和2000下良好的工作。但基于98下的鼠标事件由内核向SHELL的传递路径,我要从WDM驱动中调用VMOUSE服务或直接回调Windows USER模块mouse_event函数。当然也许根本没有那么复杂,有别的路径?目的是一个:将模拟鼠标事件传给Windows。
在《Windows WDM设备驱动程序开发指南》195页提到“NT驱动程序可以使用其他技术与硬件对话,它可以使自己与另一个驱动程序相连,并以这种方式与硬件打交道。另外,它可以使用可用的VxD与硬件打交道。”所以,讨论一下这个问题还是有用的。
Henry
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2011-06-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-05-17 17:00
98下可以写一个HidMinidriver将你所得到的触摸数据转换为Mouse数据即可。
驱动人生。
sttypxx
驱动牛犊
驱动牛犊
  • 注册日期2001-05-17
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-05-18 13:08
通过对2000的输入架构进行分析,我认为:
①HID minidriver对hidclass负责,不触动hidclass以上的部分,我们就可以完成我们的工作。如果硬件是传统的硬件的话,可以写一个
HID minidriver使其表现得象一个HID设备一样,实现系统输入架构
的一致。
②对于符合HID规范的设备,采用HID客户驱动程序已经可以获得设备的输入情况(当然,2000下的HID键盘和鼠标驱动程序打开一个HID键盘或鼠标独占访问),但我们应该可以在Hidclass为我们的设备建立的PDO与Mouhid之间增加一个透明的Filter驱动程序。这个应该是推荐的办法,且应该可以在98和2000中通用。
③随便改写系统部件,我不推荐。这样容易惹麻烦。
④对于98下Mouhid.VxD的运作机理,我仍然十分感兴趣,希望大家提供意见。
游客

返回顶部