關 閉

        新聞中心

        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 中斷

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 拉孜县| 富顺县| 桃园县| 额济纳旗| 金寨县| 闵行区| 龙州县| 崇信县| 甘南县| 天柱县| 白山市| 开封县| 沈丘县| 泸西县| 德昌县| 百色市| 东兴市| 拜城县| 永仁县| 壤塘县| 义马市| 黄石市| 湖口县| 大同县| 米林县| 资溪县| 塘沽区| 隆回县| 朔州市| 防城港市| 逊克县| 腾冲县| 朝阳区| 荔浦县| 台东市| 繁峙县| 奉新县| 来凤县| 梧州市| 桑日县| 高陵县|