色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > Windows9x/NT及2000下中斷驅(qū)動程序的統(tǒng)一化處理

          Windows9x/NT及2000下中斷驅(qū)動程序的統(tǒng)一化處理

          作者: 時間:2009-05-13 來源:網(wǎng)絡(luò) 收藏

            Listen_Interupt.c源程序

            //應(yīng)包含的頭文件

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

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

            #include

            //設(shè)置自己的號,這個例子為12

            enum {MY_IRQ=12};

            //建立全局的WinDriver句柄

            HANDLE hWD;

            //建立結(jié)構(gòu)

            WD_IERRUPT Intrp;

            Static char line[256];

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

          VOID interrupt_handler(PVOID pData)

            {

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

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

            }

            //主函數(shù)

            int main()

            {

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

          WD_VERSION verBuf;

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

            if(hWD==INVALID_HANDLE_VALUE)

            {

          printf(″打開WINDRVR出現(xiàn)錯誤!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;



          關(guān)鍵詞: Windows 2000 NT 中斷

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉