阅读:1333回复:3
中断号是不是可变的呢
学了很久都不明白,我只好来个假设,希望大家指点一下
在XP下WDM里,当我按下键盘,键盘这时候的中断号是多少呢,是不是和键盘IRQ1有固定的关系呢,就象实摸下键盘中断是INT 9一样,是不变的,很好调用,在程序里只要写INT 9就可以了 有人说在XP下中断号是可变的,不和键盘IRQ有对应的关系,电脑每启动一次,中断号就改变了, 要用HalGetInterruptVector这个函数获得硬件中断对应于XP的中断号(即IDT中的位置)。这样说来,中断号不就是没有什么用处了吗,不能提前知道,我以后该如何利用呢,不能象写INT 9那样直接调用了 一直不明白保护模式的中断号和IRQ它们的关系,请大家指点一下,我说的哪一种对呢,谢谢了 |
|
沙发#
发布于:2007-06-07 08:54
记得以前调试键盘的时候,调试值的确与设备管理器不一样.
|
|
|
板凳#
发布于:2007-06-07 10:27
理论上是可以改变中断号的。比如开始设备一用到中断一,后来新加入设备二,而设备二而非要用中断一,pci总线的仲裁器会协商,让设备一用别的中断号。会导致向设备一发送一堆pnp消息,先删除设备,在开启设备等等。个人理解,不一定对啊,呵呵
|
|
|
地板#
发布于:2007-06-07 10:53
因该就是这个样子的,中断号不是固定不变的
]谢谢大家了 |
|