lyflash
驱动牛犊
驱动牛犊
  • 注册日期2009-07-29
  • 最后登录2009-10-15
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1694回复:6

关于键盘按键信息写入文件的问题

楼主#
更多 发布于:2009-08-03 21:44
现在刚开始做驱动开发不到一周,用的是《寒江独钓》这本书。
请教大牛,键盘按键读到的信息存放在Irp->AssociatedIrp.SystemBuffer这个缓冲区,那我们想保存键盘信息,怎么用zwwritefile这个函数?
同时,如何追加记录按键的系统时间这个值。
对应的系统时间通过KeQuerySystemTime()获得
lyflash
驱动牛犊
驱动牛犊
  • 注册日期2009-07-29
  • 最后登录2009-10-15
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-04 17:06
怎么没有人回答啊?
albert21st
驱动牛犊
驱动牛犊
  • 注册日期2006-09-27
  • 最后登录2009-09-08
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望97点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-08-04 19:38
ZwWriteFile 是 Device Drivers 常用的一个 Kernel API,你可以先去 MSDN 文档中找到它,然后仔细研究一下。
这里我可以简单说一下,传给 ZwWriteFile 的 9 参数中有 4 个应当填 0 (当你在写 Device Drivers 时),它们是,
        1. Event
        2. ApcRoutine
        3. ApcContext
        4. Key

剩下的就好说了,总要有个 FileHandle 吧,写什么到这个文件里呢?要有个 Buffer 吧,写多长呢,Length,从哪开始写呢,offset 吧。
这个和 Uer-Mode 应用程序调用 WriteFile 没区别了。
lyflash
驱动牛犊
驱动牛犊
  • 注册日期2009-07-29
  • 最后登录2009-10-15
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-08-05 18:44
函数都知道,但具体的细节处理。
我让buffer直接等于Irp->AssociatedIrp.SystemBuffer,运行直接蓝屏
lyflash
驱动牛犊
驱动牛犊
  • 注册日期2009-07-29
  • 最后登录2009-10-15
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-08-06 21:54
写出的文件怎么是乱码?
haozi_super
驱动牛犊
驱动牛犊
  • 注册日期2008-07-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望232点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-08-12 18:17
我也很关心这个问题, 帮你顶一下!
lyflash
驱动牛犊
驱动牛犊
  • 注册日期2009-07-29
  • 最后登录2009-10-15
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-08-17 17:18
回 5楼(haozi_super) 的帖子
最后费了好大劲解决了!
推荐参考klog程序。。。
游客

返回顶部