久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

以文本方式查看主題

-  曙海教育集團論壇  (http://www.rfoamep.cn/bbs/index.asp)
--  WinCE系統定制與驅動開發  (http://www.rfoamep.cn/bbs/list.asp?boardid=36)
----  WinCE驅動程序的分類  (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=36&id=1831)

--  作者:wangxinxin
--  發布時間:2010-11-26 13:56:33
--  WinCE驅動程序的分類

最近有一些同學發郵件問我,驅動調試助手到底能動態加載哪些驅動,為什么在加載USB設備驅動時總是失敗。要解釋這個問題,首先得弄清楚WinCE中驅動的相關概念。本文將主要介紹WinCE下驅動程序的分類。

       驅動程序是介于操作系統和設備之間的一 個代碼層,它的主要作用是為操作系統提供一個接口,以操作不同的硬件,包括物理的和虛擬的設備。雖然驅動程序有很多種,但從編程的角度來看,無非是往一個 固定的框架中添加相應的代碼。這里的框架指的是一個接口,面向操作系統。代碼實現的宗旨是,在正確的時間往正確的寄存器中寫正確的值。

       驅動程序的分類,從不同的角度有不同的 分法。拿串口驅動來說,你可以說它是一個分層驅動,你也可以說它是一個流驅動,你還可以說它是開機時自動加載的驅動……這似乎有點亂。如果你也這么認為, 那建議往下看。如果這些你都了如指掌,那就不浪費時間了,當然,您愿意找茬,我會很感謝!

       先說本地驅動(Native Drivers)和流驅動(Stream Drivers)WinCE下的驅動都可以歸類到這兩個里面,二者必居其一。這是從驅動程序提供給操作系統的接口來區分的。流驅動為操作系統提供了流接口函數,如XXX_Init()XXX_Open()XXX_Read()XXX_Write()XXX_Close()等等。這一類的驅動由Device Manager來管理,它調用ActivateDeviceEx()函數來加載流驅動。ActivateDeviceEx()的參數是注冊表中相應的鍵,用來設定加載流驅動的屬性,如IndexOrderPrefix等等。流驅動的注冊表配置信息一般存放在[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn]下。流驅動加載成功后,應用程序通過調用CreateFile()ReadFile()WirteFile()等來訪問流驅動的設備。流驅動可以動態管理,驅動調試助手就是用來幫助調試這一類驅動的。

與流驅動相反,本地驅動提供給操作系統的不是標準的流接口,而是事先約定好的特定接口。不同的設備,接口也不一樣。WinCE中,常見的本地驅動有LCD顯示驅動、觸摸屏驅動、鼠標和鍵盤驅動及打印機驅動等。可以看到,本地驅動主要是人機界面相關的驅動。它們由GWES管理,在系統啟動時加載。他們在注冊表中也有各自相應的配置信息。如鍵鼠的注冊表配置如下:

[HKEY_LOCAL_MACHINE"System"CurrentControlSet"Control"Layouts"00000409]

"Layout File"="kbdmouse.dll"

"Layout Text"="US"

"PS2_AT"="kbdmouse.dll"

"Matrix"="kbdmouse.dll"

本地驅動由操作系統調用,應用程序不能訪問。對于這類驅動,驅動調試助手是無能為力的,只能老老實實的編譯、下載、驗證。

WinCE驅動中經常會聽到MDD(Model Device Driver)PDD(Platform Dependent Driver)的概念,這是從驅動代碼實現的結構來區分的。WinCE的驅動可以是單層的,也可以是PDD+MDD。這沒有硬性規定,一個驅動程序可以采用分層結構,也可以采用單層結構。一般來說,單層結構的驅動執行效率更高,而分層結構的驅動方便代碼維護和移植。拿串口驅動來說,完全可以采用單層結構。而把它分為PDDMDD,作為一般的開發者,我們只需實現PDD層就可以了,MDD層由微軟實現。這樣,驅動開發的工作量少很多,而代碼的可靠性則有了更好的保證。至于采用哪一種結構的驅動,主要看你的需求。

WinCE 6.0引入了內核態驅動和用戶態驅動的概念。在WinCE5.0及先前的版本中,驅動工作在用戶態。從代碼方面看,內核態驅動和用戶態驅動沒太大差別。如果驅動中沒有采用什么特別的技術,內核態驅動和用戶態驅動甚至是二進制兼容的。我曾經試過將一個DLL分 別加載到內核態和用戶態,都工作得很好。內核態驅動被加載到內核空間,用戶態驅動被加載到特定的用戶進程空間中。從執行效率來看,內核態的驅動效率比用戶 態的驅動高。從穩定性方面考慮,用戶態的驅動不會對系統產生致命影響,而內核態的驅動相對危險。同樣,采用哪一種類型的驅動,也是看你的需求。

從驅動加載的時間來看,可分為兩種:系統啟動時加載和需要時加載。一般來說本地驅動都是在啟動時加載的,所以這里說的主要是流驅動。如果想要驅動在系統啟動時加載,只需將它的注冊表配置信息放到[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\]下,如[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\Battery],系統啟動時,Device Manager會自動加載它。需要時加載,顧名思義,就是想加載就加載,想卸載就卸載,很靈活。這里很有必要說一下USB設備的驅動加載,如USB攝像頭驅動,它也屬于需要時加載的驅動。從驅動的接口來看,它屬于流驅動,但相對普通的流驅動,它增加了幾個函數:USBDeviceAttach()USBInstallDriver()USBUnInstallDriver()等。USB攝像頭驅動的加載在USBDeviceAttach()中完成。所以,它無須,也不能,用驅動調試助手加載。需要時加載的驅動還有一個作用,在無法修改系統的情況下,應用程序中動態加載該驅動,以完成對硬件的操作。

......


久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
91国偷自产一区二区三区成为亚洲经典 | 日韩午夜av电影| 精品视频一区 二区 三区| 91官网在线免费观看| 色狠狠桃花综合| 欧美日韩精品专区| 日韩精品一区二区三区在线观看| 26uuu国产一区二区三区| 欧美激情一区在线| 亚洲一区二区三区在线看| 免费高清在线视频一区·| 国产在线视频不卡二| 不卡的电影网站| 久久精品中文字幕一区二区三区 | 亚洲欧美激情一区二区| 一区二区三区中文在线| 日产国产欧美视频一区精品| 国产一区二区看久久| 97se亚洲国产综合自在线不卡| 国精产品一区二区| 色综合久久88色综合天天免费| 7777精品伊人久久久大香线蕉的 | 亚洲精品少妇30p| 日韩二区在线观看| 成人h版在线观看| 女人一区二区三区| 欧美日产在线观看| 国产精品理伦片| 美腿丝袜亚洲一区| 成人看片在线| 色94色欧美sute亚洲线路二| 日韩精品中午字幕| 亚洲午夜国产一区99re久久| 国产高清无密码一区二区三区| 国产伦精品一区二区三区高清 | 欧美亚一区二区| 久久精品亚洲乱码伦伦中文 | 亚洲色欲色欲www| 久久99久久99小草精品免视看| 91久久精品www人人做人人爽| 日韩精品一区二区三区外面| 欧美精品777| 一区二区三区中文字幕精品精品| 国产精品一区二区三区乱码| 免费看成人午夜电影| 日韩一级在线观看| 午夜视频一区二区| 国产91视觉| 欧美日韩免费一区二区三区 | 亚洲mv在线观看| 91在线观看视频| 欧美蜜桃一区二区三区| 最新不卡av在线| 成人app下载| 91电影在线观看| 亚洲码国产岛国毛片在线| 北条麻妃国产九九精品视频| 一本到三区不卡视频| 国产精品美女久久久久av爽李琼| 狠狠色狠狠色合久久伊人| 欧美视频1区| 国产欧美日韩不卡免费| 国产精品自产自拍| 色综合一个色综合亚洲| 亚洲美女视频一区| 国产福利一区二区三区在线观看| 91麻豆精品国产91久久久久久久久| 午夜在线电影亚洲一区| 国内成+人亚洲| 国产亚洲制服色| 丁香桃色午夜亚洲一区二区三区| 在线一区二区三区四区| 亚洲午夜在线视频| 欧美福利精品| 亚洲欧洲精品一区二区三区| 91在线精品一区二区| 日韩一区二区三| 国内精品免费在线观看| 色8久久精品久久久久久蜜| 亚洲国产日韩一区二区| 日韩欧美一区二区三区四区五区| 国产精品沙发午睡系列990531| 99re这里只有精品视频首页| 欧美电视剧在线观看完整版| 国产乱对白刺激视频不卡| 欧美日韩一区中文字幕| 美日韩一区二区| 色美美综合视频| 蜜臀91精品一区二区三区| 亚洲欧美成人一区| 视频一区中文字幕国产| 亚洲视频在线二区| 男女性色大片免费观看一区二区| 一区二区三区四区免费视频| 午夜精品久久久久久久蜜桃app| 日本亚洲自拍| 天天综合天天综合色| 在线免费观看日本欧美| 狠狠色丁香婷综合久久| 91精品国产手机| 成人精品视频一区二区三区尤物| 日韩视频免费观看高清完整版在线观看| 国内精品不卡在线| 欧美一区二区三区视频在线| 成人亚洲精品久久久久软件| 精品成人佐山爱一区二区| 91久久精品www人人做人人爽| 欧美国产视频在线| 欧美日韩精品一区| 五月天中文字幕一区二区| 色丁香久综合在线久综合在线观看| 日本欧美韩国一区三区| 欧美日韩精品一区二区天天拍小说 | 亚洲精品成人悠悠色影视| 美国av一区二区三区| 亚洲成人一区在线| 91久久香蕉国产日韩欧美9色| 精品一区二区久久久| 91精品国产综合久久福利软件| 国产91丝袜在线播放九色| 久久久99精品免费观看| 久久亚洲综合网| 午夜婷婷国产麻豆精品| 欧美精品粉嫩高潮一区二区| 99久久精品国产导航| 一区二区三区精品视频| 欧美亚洲国产一区二区三区va| 国产精品77777| 国产精品高潮呻吟久久| 色综合久久久久久久久久久| 国内不卡的二区三区中文字幕 | 久久偷窥视频| 老汉av免费一区二区三区| 日韩一级欧美一级| 蜜桃av久久久亚洲精品| 日本一区中文字幕| 久久午夜色播影院免费高清| 欧美一区2区三区4区公司二百| 久久er精品视频| 中文字幕电影一区| 色视频成人在线观看免| a美女胸又www黄视频久久| 亚洲人123区| 欧美精品v日韩精品v韩国精品v| 91看片淫黄大片一级| 亚洲自拍与偷拍| 欧美成人激情免费网| 亚洲三区在线| 99久久亚洲一区二区三区青草| 一区二区成人在线视频| 91精品国产一区二区三区香蕉| 欧美精品一区二区三区在线四季| 久久不见久久见免费视频7| 日本一二三四高清不卡| 欧美日韩一区视频| 国产亚洲精品久久飘花| 国产一区亚洲一区| 一区二区三区波多野结衣在线观看 | 亚洲一区二区在线免费看| 欧美一区二区二区| 亚洲成人蜜桃| 91看片淫黄大片一级在线观看| 日韩激情一二三区| 成人欧美一区二区三区在线播放| 欧美剧在线免费观看网站| 日本欧美色综合网站免费| 91麻豆精品视频| 麻豆成人久久精品二区三区小说| 中文字幕亚洲综合久久菠萝蜜| 欧美一区日韩一区| 一本大道久久a久久综合婷婷| 国产一区精品视频| 成人美女视频在线看| 日本三级韩国三级欧美三级| 国产精品白丝在线| 欧美大肚乱孕交hd孕妇| 在线观看一区二区视频| 欧美一区二区在线| 国产精品一区二区不卡视频| 国产麻豆成人传媒免费观看| 五月婷婷久久综合| 日韩理论片在线| 久久免费视频一区| 欧美一区二区精美| 欧美日韩在线直播| 色综合久久中文综合久久97| 久久66热这里只有精品| 91丝袜脚交足在线播放| 成人av资源站| 国产精品一区一区| 韩国成人在线视频| 久久激情综合网| 日韩福利视频导航| 日韩电影在线一区| 日韩国产一二三区| 日韩和的一区二区| 全国精品久久少妇| 秋霞成人午夜伦在线观看| 日韩精品一二区| 亚洲国产日韩av|