Windows CE下流驅(qū)動的動態(tài)加載
運行驅(qū)動調(diào)試助手軟件,點擊“驅(qū)動調(diào)試”菜單——選擇“瀏覽DLL文件”,瀏覽到我們準(zhǔn)備好的DrvDemo.dll文件。在彈出的對話框中設(shè)置正確的Prefix、Order、Index信息,點擊“確定”。
同樣,此時你可以直接通過“驅(qū)動調(diào)試”下的“激活驅(qū)動”直接激活該驅(qū)動,或者從“驅(qū)動列表”中激活.
其余的操作跟上面講的完全一樣了,不再重復(fù)。
怎么樣,這種方法就很類似于Linux下的Insmod和Rmmod了吧?
其實,如果在注冊表中已經(jīng)有了相應(yīng)的鍵,你甚至可以直接選中它,然后在“驅(qū)動調(diào)試”中選擇“激活驅(qū)動”,如果一切正常,也可以達到上面兩種方法的效果,但這樣就連導(dǎo)入文件都省了。有興趣的同志可以自己試一下。
好了,我相信到這里,大家應(yīng)該對動態(tài)加載流驅(qū)動的原理和方法都了解了,也能從此擺脫不斷MakeImg和Download的夢魘,節(jié)省很多寶貴的開發(fā)時間。
最后,針對驅(qū)動調(diào)試助手簡單說明一下幾個要注意的地方。
1. 在調(diào)試驅(qū)動時,加載完驅(qū)動后,千萬不要關(guān)閉驅(qū)動調(diào)試助手,最小化就行,否則,它會在關(guān)閉時自動卸載掉你所加載的驅(qū)動。
2. 在WinCE4.2中,有關(guān)中斷的驅(qū)動是無法直接用此方法來動態(tài)加載的,而在5.0和6.0中不會有此限制。這是因為WinCE4.2中的中斷處理機制所致。
3. 驅(qū)動調(diào)試助手可以同時加載幾個驅(qū)動,這時候建議將所有注冊表信息寫到一個文件中,并導(dǎo)入。剩下的工作就是從驅(qū)動列表中選擇加載你所需要的驅(qū)動了。
4. 驅(qū)動調(diào)試助手中的注冊表編輯功能經(jīng)過幾番修改,已基本完善,編輯、導(dǎo)入、導(dǎo)出都沒有問題。如果系統(tǒng)支持HIVE-REG,在退出驅(qū)動調(diào)試助手時,可以選擇保存此次的注冊表修改。
5. 上面的截圖是在WinCE6.0的模擬器上面做的,應(yīng)該算是內(nèi)核態(tài)的驅(qū)動,至于用戶態(tài)的驅(qū)動也可以通過該方法加載,但是需要設(shè)定相應(yīng)的注冊表信息。
6. 做這樣一個小工具,主要是想提高自己的工作效率。現(xiàn)在貼出來,希望也能為同道中人所用。在使用該程序時有任何問題,請發(fā)郵件到 wince.he@gmail.com,我會盡力解決。本篇中的視頻錄像和最新版的驅(qū)動調(diào)試助手可以在http://files.cnblogs.com/we-hjb/WINCEDM.rar下載到。
上面所講的并不是新鮮或者高深的技術(shù),但相信對某些技術(shù)人員還是有一定的幫助。當(dāng)然,文中有不盡如人意處,還請你見諒。以后爭取多寫一點東西,跟大家一起學(xué)習(xí)Windows Embedded。
評論