• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > Windows9x/NT及2000下中斷驅動程序的統一化處理

    Windows9x/NT及2000下中斷驅動程序的統一化處理

    作者: 時間:2009-05-13 來源:網絡 收藏

      Listen_Interupt.c源程序

      //應包含的頭文件

      #include ″../../include/windrvr.h″

      #include ″../../include/windrvr_int_thread.h″

      #include

      //設置自己的號,這個例子為12

      enum {MY_IRQ=12};

      //建立全局的WinDriver句柄

      HANDLE hWD;

      //建立結構

      WD_IERRUPT Intrp;

      Static char line[256];

      //中斷處理過程,你可以用pData來傳遞從InterruptThreadEnable()得來的信息

    VOID interrupt_handler(PVOID pData)

      {

    //在這里加入你要做的中斷處理代碼

    printf(″截獲中斷的數目為%dn″,Intrp.dwCounter);

      }

      //主函數

      int main()

      {

    WD_CARD_REGISTER cardReg;//建立插卡登記項目的一個實例

    WD_VERSION verBuf;

    hWD=WD_Open();//獲得驅動程序的句柄

      if(hWD==INVALID_HANDLE_VALUE)

      {

    printf(″打開WINDRVR出現錯誤!n″);

    return0;

      }

      BZERO(verBuf);

      WD_Version(hWD,verBuf);

      if(verBuf.dwVer

      {

    printf(″WINDRVR版本不正確,這里需要的版本為:%dn″,WD_VER);

    return0;

      }

      //初始化cardReg,這是程序的重要部分

      BZERO(cardReg);

      cardReg.Card.dwItems=1;

      cardReg.Card.Item[0].item=ITEM_IERRUPT;

      cardReg.Card.Item[0].fNotSharable=True;

      cardReg.Card.Item[0].I.Int.dwInterrupt=MY_IRQ;

      cardReg.Card.Item[0].I.Int.dwOptions=1;

      cardReg.fCheckLockOnly=True;



    關鍵詞: Windows 2000 NT 中斷

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 内丘县| 京山县| 曲阳县| 鲁山县| 北票市| 华池县| 中阳县| 碌曲县| 万载县| 德庆县| 河北省| 曲周县| 弋阳县| 汕头市| 高雄市| 洛川县| 荣成市| 富蕴县| 南丹县| 达州市| 称多县| 门头沟区| 寻乌县| 尖扎县| 沿河| 朝阳县| 永善县| 陕西省| 徐闻县| 阜阳市| 康乐县| 明光市| 凤翔县| 鄂伦春自治旗| 南川市| 松江区| 盐城市| 东海县| 平陆县| 贡嘎县| 桃园县|