網絡驅動應用開發 --續五

 
 
 
        最近事情特別多,都沒有來得及整理一些開發方面東西。
   前面把驅動的體系做了個簡單的介紹,想必對驅動你有了對於網絡過濾驅動NDIS與一般的驅動在體系上沒有很大的變化,只是 對於網絡過濾驅動,有它特殊的部分,對於中間驅動 .
       在進行Windows內核驅動開發之前,我們需要知道和了解很多其他周邊,外圍的知識,如在XP以前的系統 如WIN3X,WIN95 ,WIN98,及其WIN2000.對於以前的在 這些平臺臺下驅動的構建。對於前面介紹過的驅動模型,及其WINDOWS驅動類型,WINDOWS的Components,內核驅動設計的目標,相關了解都是很重要的。
       還有其他在驅動開發中的常用術語,如 Driver Object ,Device Object ,實際開發的例子中結合才能深刻體會具體的含義,否則必將空洞。需要的是理解而不是去記憶。特別是WIN98,WIN2000及其以後的系統廣泛的使用WDM驅動模型,讓我們開發驅動的時間,只要遵循它的規範,可以進行快速高效的驅動開發。
    下面我們就以以下目錄結合其他相關的深入開發
           
 
 
      前面我們已經介紹過驅動的分層體系。理解它 我們可以從一個實際的驅動來看其共性:首先用戶發起一個請求,比如需要使用打印機打印指定的文檔,我們用戶並不會和硬件直接交付,用戶層通過應用程序提供的接口,傳遞一個或則多個命令 給負責接口的部分。然後就由驅動來負責處理這些請求。驅動然後再進行內部處理,將處理結果,返回給調用者。如果當前驅動不能處理相應的請求,那麼驅動有可能繼續將請求向下傳遞。最終硬件完成指定的功能要求。在Windwos32 ,我們關心的驅動與用戶接口層API進行通訊,也就是我們常說的驅動與應用程序的通訊,包括數據從WDM讀取,然後將數據寫入WDM。系統的有相關的文檔入 Microsoft SDK 等。以下常用到的必將多的:
          
         
       
        
       至於他們怎麼調用,入口參數,我們可以參考相應的文檔,在此不作過多的介紹,在後面的實際遇到的時候再做詳細討論。
      在瞭解拉與應用接口後,我們在看驅動內部是怎麼實現處理的用戶發起的請求。通常這些請求就是我們常見的IRP(Interupt Reqest Pakect) 在驅動內部,對應的有很多例程,他們之間傳遞信息大部分也是通過傳遞IRP,內核例程專門完成處理用戶的請求操作和一些特殊的任務。這些例程根據驅動類型不同,有一些差異。對於WDM 驅動,大體結構上沒有多大差別。對於驅動的例程,包括的必將多。下面我們把一些主要的例程貼出來。
 
      
 
        
            

 以上資料來自windows DDK驅動 個人做拉,一些小的整理。對於驅動的例程介紹我們今天就不介紹拉。由於時間關係,今天到此爲止吧。在下篇在對驅動的例程作較多的介紹。

            能在茫茫人海中遇到一個一起學習的人不容易,願個人整理收集的點資料能對收集資料的你有點綿薄之力。你的評語就是就算對我最大的鼓舞。謝謝!!!
 
 
 
 
 
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章