w_anthony
驱动牛犊
驱动牛犊
  • 注册日期2006-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1271回复:4

初学驱动,来求教一些关于内核API的基础问题

楼主#
更多 发布于:2009-03-17 15:15
之前一直搞WIN32应用程序开发,对驱动可以说是一窍不通,最近看了一些关于驱动的教程,稍微有些了解。
听别人说,似乎驱动里面最好不要使用WIN32的API,不然会很慢,是这样吗?

我现在在研究DDK的例子kbfilter,已经对大致流程有所了解,可以在按键后得到scan code,通过DbgPrint看到输出结果。
如果是普通应用程序的话,可以用MapVirtualKey通过scan code得到VirtualKey,再用GetKeyboardState得到当时键盘的状态,最后用ToAscii得到实际键值。
但是现在是在驱动里面,可以调用这些WIN32 API吗?还是有其他的替代函数呢?
w_anthony
驱动牛犊
驱动牛犊
  • 注册日期2006-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-17 15:52
我在驱动里面试着调用了那几个API,手动声明函数原型并链接user32.lib,编译成功。
拿到虚拟机上一试,能进去桌面,但是键盘按了都没反应,鼠标光标也不见了。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2009-03-18 11:23
驱动,就不要调用Win32 API了,建议先找些入门的书看看。
w_anthony
驱动牛犊
驱动牛犊
  • 注册日期2006-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-03-18 16:14
请问内核API可以在哪里查询呢?如果没有对应的API,那就只能绕路了。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2009-03-19 12:37
DDK文档啊
游客

返回顶部