littlefish2000
驱动牛犊
驱动牛犊
  • 注册日期2005-02-16
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:974回复:2

keyboard driver开发问题?

楼主#
更多 发布于:2005-02-20 17:22
我正在开发一个KEYBOARD DRIVER.由于KDBCLASS,PNP8402 DRIVER 在WINXP中不可以改动。做一个keyboard filter driver  实现,遇到如下问题
1。我定义了自己的USER MODE IOCTL CONTROL,(在DDK中本来要在KBDCLASS中实现的),如何传到 use mode,让user mode 可以使用它。
2。我在KBDFILTER DRIVER EXTENSION 中定义了自己的BUFFER缓存信用卡扫描信息,在何处分配内存,何处释放最好。


万分感谢

bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-21 09:01
1。我定义了自己的USER MODE IOCTL CONTROL,(在DDK中本来要在KBDCLASS中实现的),如何传到 use mode,让user mode 可以使用它。

在处理IRP_MJ_DEVICE_CONTROL中,user mode通过CreateFile, ReadFile, WriteFile使用它
2。我在KBDFILTER DRIVER EXTENSION 中定义了自己的BUFFER缓存信用卡扫描信息,在何处分配内存,何处释放最好。

最好在AddDevice中分配并初始化,在Unload中释放或任何发生错误的地方释放
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2005-02-21 09:11
首先你的过滤驱动应该有自己的DEVICENAME和SYMBOLICNAME,然后应用通过SYMBOLIC和驱动通信.
其次必须在你的IRP处理例程里判断是发往过滤驱动本身的还是发往下层设备的,从而判断是直接返回还是继续往下传......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部