Windows9x/NT及2000下中断驱动程序的统一化处理

工控自动化 时间:2009-05-13来源:网络

  WD_CardRegister(hWD,cardReg);

  if(cardReg.hCard==0)

  {

printf(″无法锁定设备!″);

  }

  else

  {

HANDLE thread_handle;

BZERO(Intrp);

Intrp.hInterrupt=cardReg.Card.Item[0].I.Int.hInterrupt;

Intrp.Cmd=NULL;

Intrp.dwCmds=0;

Intrp.dwOptions=0;

printf(″开始中断线程n″);

//这里调用WD_IntEnable(),并且建立一个中断处理的线程

if(!InterruptThreadEnable(thread_handle,hWD,Intrp,interrupt_handler,NULL))

{

printf(″中断使能失败!n″);

}

else

{

//callyourdrivercodehere

printf(″敲回车键不再进行中断截获n″);

gets(line);

//这里调用禁止截获中断的函数:WD_IntDisable()

InterruptThreadDisable(thread_handle);

}

//释放所登记的资源

WD_CardUnregister(hWD,cardReg);

}

//删除驱动程序的句柄。

WD_Close(hWD);

return0;

  }

  按照本文给出的技术方案,掌握必要的Windows编程技术,即可以成功地实现Windows环境下对硬件中断的直接控制,很方便地在不同系统下进行移植。实践证明,这种方法是切实可行,行之有效的。

1 2 3 4

关键词: Windows 2000 NT 中断

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版