Windows CE.NET下ADC驅(qū)動開發(fā)設(shè)計
4.2 實現(xiàn)驅(qū)動的各個標(biāo)準(zhǔn)接口函數(shù)
需要實現(xiàn)的函數(shù)在前文已經(jīng)論述,現(xiàn)在只需按照其功能編寫具體的代碼。下面給出ADC_Init、ADC_Read、ADC_Write 部分程序代碼。
4.3 導(dǎo)出接口函數(shù)集
流驅(qū)動一般以 DLL 形式存在,與在windows 98/2000/XP 系統(tǒng)下用VC++開發(fā)DLL 工程一樣,如果我們愿意把DLL 中的某些函數(shù)暴露給應(yīng)用程序或者操作系統(tǒng)調(diào)用,就需要將這些函數(shù)導(dǎo)出,否則外部程序?qū)⒉荒苷{(diào)用 DLL 中的函數(shù)。DEF 文件定義了DLL 需要導(dǎo)出的接口函數(shù)集,且名稱與設(shè)備驅(qū)動名稱相同[DEF 示例文件]
LIBRARY ADC
EXPORTS
ADC_Open
ADC_Close
ADC_Init
ADC_Deinit
ADC_Read
ADC_Write
本示例表明從 ADC.dll 中導(dǎo)出ADC_Init 等函數(shù),其中 ADC 即為我們選擇的代表設(shè)備的文件名前綴,DLLEntry 是驅(qū)動程序的入口函數(shù)。
4.4 在注冊表中增加驅(qū)動項
注冊表是一個龐大的數(shù)據(jù)庫,它記錄了用戶安裝在機器上的軟件和每個程序的相互關(guān)聯(lián)信息;它包含了計算機的硬件配置,包括自動配置的即插即用的設(shè)備和已有的各種設(shè)備說明、狀態(tài)屬性以及各種狀態(tài)信息和數(shù)據(jù)。在 Windows 系統(tǒng)中,很多驅(qū)動都要通過設(shè)備管理器來查詢注冊表,再根據(jù)注冊表項來加載驅(qū)動程序,所以必須在注冊表中增加相應(yīng)的驅(qū)動項。假定ADC.dll 為驅(qū)動程序,通常,注冊項位于注冊表的Root Key 下,一般為[HKEY_LOCAL_MACHINEDriversBuiltInADC]。其中 ADC 是為我們驅(qū)動程序而添加的。我們需要在 ADC下建立必要的子鍵和鍵值,“Prefix”和“DLL”是2 個重要而且必須的鍵,分別描述了設(shè)備前綴名和驅(qū)動程序的動態(tài)連接庫名。如果還有需要的話,可以建立驅(qū)動程序需要的其子他鍵。
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論