luohua2007
驱动牛犊
驱动牛犊
  • 注册日期2007-04-30
  • 最后登录2008-10-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望50点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
阅读:1268回复:3

中断号是不是可变的呢

楼主#
更多 发布于:2007-06-06 21:01
学了很久都不明白,我只好来个假设,希望大家指点一下

在XP下WDM里,当我按下键盘,键盘这时候的中断号是多少呢,是不是和键盘IRQ1有固定的关系呢,就象实摸下键盘中断是INT 9一样,是不变的,很好调用,在程序里只要写INT 9就可以了

有人说在XP下中断号是可变的,不和键盘IRQ有对应的关系,电脑每启动一次,中断号就改变了,
要用HalGetInterruptVector这个函数获得硬件中断对应于XP的中断号(即IDT中的位置)。这样说来,中断号不就是没有什么用处了吗,不能提前知道,我以后该如何利用呢,不能象写INT 9那样直接调用了

一直不明白保护模式的中断号和IRQ它们的关系,请大家指点一下,我说的哪一种对呢,谢谢了

driverdance
驱动牛犊
驱动牛犊
  • 注册日期2007-04-18
  • 最后登录2007-08-13
  • 粉丝0
  • 关注0
  • 积分640分
  • 威望65点
  • 贡献值0点
  • 好评度64点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-07 08:54
记得以前调试键盘的时候,调试值的确与设备管理器不一样.
承接WDM和hook的项目。
fanzi
驱动小牛
驱动小牛
  • 注册日期2004-12-09
  • 最后登录2013-12-19
  • 粉丝1
  • 关注0
  • 积分1004分
  • 威望754点
  • 贡献值0点
  • 好评度93点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-07 10:27
理论上是可以改变中断号的。比如开始设备一用到中断一,后来新加入设备二,而设备二而非要用中断一,pci总线的仲裁器会协商,让设备一用别的中断号。会导致向设备一发送一堆pnp消息,先删除设备,在开启设备等等。个人理解,不一定对啊,呵呵
张帆的内核学习论坛 http://bbs.kerneldev.com
luohua2007
驱动牛犊
驱动牛犊
  • 注册日期2007-04-30
  • 最后登录2008-10-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望50点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-07 10:53
因该就是这个样子的,中断号不是固定不变的
]谢谢大家了
游客

返回顶部