999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Windows系統下關于硬件驅動程序的通知應用程序設計方法

2013-01-01 00:00:00徐海龍
電腦迷 2013年1期

摘 要 在目前流行的Windows操作系統中,設備驅動程序是操縱硬件的最底層軟件接口。筆者結合個人經驗,在此分享設備驅動程序設計過程中的一些經驗,給出設備驅動程序通知應用程序的4種方法,具體說明每種方法的原理和實現過程,希望能夠給設備驅動程序的設計者提供一些幫助。

關鍵字 Windows系統 驅動程序 通知應用程序 設計 方法

中圖分類號: TP316 文獻標識碼:A

1 前言

操作系統的穩定性及可移植性是務必要優先確保的,為此Windows操作系統不支持應用程序直接訪問系統的硬件資源,而是必須借助于相應的設備驅動程序。設備驅動程序可以直接操作硬件,假如應用程序和設備驅動程序之間實現了雙向通信,也就達到了應用程序控制底層硬件設備的目的。

2 通知應用程序設計四種方法

鑒于設備驅動程序通知應用程序的重要性,本人結合一些經驗,對它進行了總結,歸納出5種方法摘要:異步過程調用(APC)、事件方式(VxD)、消息方式、異步I/O方式和事件方式(WDM)。下面分別說明這幾種方式的原理。

2.1 異步過程調用(APC)

Win32應用程序使用CreateFile()函數動態加載設備驅動程序,然后定義一個回調函數backFunc(),并且將回調函數的地址%26amp;backFunc()作為參數,通過DeviceIoControl()傳送給設備驅動程序。回調函數的輸入參數是由設備驅動程序填入的,回調函數在這里主要是對消息進行處理。

2.2 事件方式(VxD)

首先,Win32應用程序創建一個事件的句柄,稱其為Ring3句柄。由于虛擬設備驅動程序使用事件的Ring0句柄,因此,需要創建Ring0句柄。用LoadLibrary()函數加載未公開的動態鏈接庫Kernel32.dll,獲得動態鏈接庫的句柄。然后,調用GetProcAddress(), 找到函數OpenVxDHandle()在動態鏈接庫中的位置。接著,用OpenVxDHandle()函數將Ring3事件句柄轉化為Ring0事件句柄。Win32應用程序用CreateFile()函數加載設備驅動程序。

2.3 消息方式

Win32應用程序調用CreateFile()函數動態加載虛擬設備驅動程序。加載成功后,通過調用DeviceIoControl()函數將窗體句柄傳送給VxD,VxD利用這個句柄向窗體發消息。當條件滿足時,VxD調用SHELL_PostMessage()函數向Win32應用程序發送消息。SHELL_PostMessage()函數的第一個參數為Win32窗體句柄,第二個參數為消息ID號,第三、四個參數為發送給消息處理函數的參數,第五、六個參數為回調函數和傳給它的參數。Win32應用程序收到消息后,對消息進行處理。

2.4 事件方式(WDM)

Win32應用程序首先創建一個事件,然后將該事件句柄傳給設備驅動程序,接著創建一個輔助線程,等待事件的有信號狀態,自己則接著干其他事情。設備驅動程序獲得該事件的句柄后,將它轉換成能夠使用的事件指針,并且把它寄存起來,以便后面使用。

3 結語

在目前流行的Windows操作系統中,設備驅動程序是操縱硬件的最底層軟件接口。它向上提供和硬件無關的用戶接口,向下直接進行I/O、硬件中斷、DMA和內存訪問等操作。它將應用程序和硬件細節屏蔽開來,使軟件不依靠于硬件并且可在多個不同的平臺之間移植。這4種方法都經過實際測試。測試結果表明,它們都能夠達到設備驅動程序通知應用程序的目的。

參考文獻

[1] 李和平. 基于DSP的ICT圖像重建系統探究. 北京摘要: 北京航空航天大學機械工程及自動化學院, 2002

[2] (美)Chris Cant. Windows WDM設備驅動程序開發指南. 孫義, 馬莉波, 國雪飛等譯. 北京摘要: 機械工業出版社 2000

[3] 歐青立,徐建波,李方敏,等. 虛擬設備驅動程序VxD的探究和開發. 計算機工程,2003

主站蜘蛛池模板: 欧美精品1区2区| 日本不卡在线| 亚洲永久视频| 国产又粗又爽视频| 国产女人在线视频| 日韩中文字幕亚洲无线码| 国产成+人+综合+亚洲欧美| 国产喷水视频| 国产成人精品午夜视频'| 国产在线拍偷自揄拍精品| a级毛片免费网站| a毛片在线| 色播五月婷婷| 久久久噜噜噜久久中文字幕色伊伊| 婷婷激情五月网| 91日本在线观看亚洲精品| 丁香五月激情图片| 日韩在线欧美在线| 亚洲成a人片77777在线播放| 永久免费无码日韩视频| 久久 午夜福利 张柏芝| 天天躁夜夜躁狠狠躁图片| 亚洲美女久久| 国产成人调教在线视频| 色妞www精品视频一级下载| 精品国产女同疯狂摩擦2| AV天堂资源福利在线观看| 在线a网站| 五月婷婷精品| 久草视频中文| 精品无码一区二区三区电影| 欧美在线三级| 亚洲一区二区无码视频| 91麻豆精品国产高清在线| 成人一级免费视频| 天堂av高清一区二区三区| 国产精品精品视频| 国产乱子伦手机在线| 免费欧美一级| 福利一区三区| 欧美激情一区二区三区成人| 日韩免费毛片| 亚欧乱色视频网站大全| 精品国产免费观看一区| 国产亚洲一区二区三区在线| 久久久久人妻一区精品色奶水| 精品久久久久成人码免费动漫| 久久天天躁狠狠躁夜夜躁| 国产成人精品一区二区三区| 五月婷婷丁香综合| 精品人妻无码中字系列| 91在线无码精品秘九色APP| 91精品综合| 国产成人免费| 97国产精品视频自在拍| av大片在线无码免费| 亚洲成在线观看| 久久99国产视频| 中文国产成人精品久久| 幺女国产一级毛片| 欧美一级高清片欧美国产欧美| 1769国产精品免费视频| 毛片免费试看| 亚洲另类色| 成人福利视频网| 囯产av无码片毛片一级| 国产福利在线免费| 欧美午夜视频在线| 色综合久久无码网| 一本二本三本不卡无码| 国产在线观看精品| 一级毛片a女人刺激视频免费| 亚洲国产理论片在线播放| 久久6免费视频| 国产成人精品在线| 国产精品视频猛进猛出| 波多野结衣中文字幕一区二区 | 99热这里只有精品免费| 国产精品视频第一专区| 97亚洲色综久久精品| 国产精品一区在线麻豆| 精品人妻一区无码视频|