dddd444412
驱动牛犊
驱动牛犊
  • 注册日期2010-01-18
  • 最后登录2010-01-25
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2040回复:3

windowsXP DDK 如何连接一个中断?(KInterrupt?)

楼主#
更多 发布于:2010-01-25 15:00
我之找到了KInterrupt这个类:但是问题出现如下

KInterrupt::Initialize 两种 格式
FORM 2: (WDM)

VOID
   Initialize(
   KIRQL irql,
   ULONG vector,
   KINTERRUPT_MODE Mode,
   BOOLEAN bShareVector=FALSE,
   KAFFINITY affinity=1,
   BOOLEAN bSaveFloat=FALSE
);

我用了 m_irq_testInterrupt.Initialize(DISPATCH_LEVEL, 0x09, LevelSensitive, TRUE, 1, FALSE);//0x09 x86键盘中断
结果 m_irq_testInterrupt.IsValid()返回 false
这个我用法错误在哪里?

FORM 3:

NTSTATUS Initialize(
   PCM_RESOURCE_LIST pResourceList,
   ULONG Ordinal=0,
   BOOLEAN bSaveFloat=FALSE
);

pResourceList是从哪里设置的?
avenlf
驱动牛犊
驱动牛犊
  • 注册日期2002-06-16
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望180点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2010-01-25 18:16
IRP_PNP_START
dddd444412
驱动牛犊
驱动牛犊
  • 注册日期2010-01-18
  • 最后登录2010-01-25
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-01-25 19:25
楼上的,谢谢回答,可能是我问题描述不清楚,pResourceList是在start的时候通过KIrp::TranslatedResources获取,但是KIrp::TranslatedResources他是从哪里获取的呢? 我如果要使用中断向量0x09,KIrp::TranslatedResources怎么知道我要用这个中断向量
tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-01-26 12:47
看看张帆的书,例子很清楚
游客

返回顶部