專利名稱:一種usb設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種設(shè)備驅(qū)動(dòng)程序的安裝方法,尤其涉及一種USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法。
背景技術(shù):
WDM(Win32 Driver Mode,Win32驅(qū)動(dòng)模型)是微軟公司為Windows的驅(qū)動(dòng)程序設(shè)計(jì)的一種通用的驅(qū)動(dòng)程序模型。隨著系統(tǒng)的升級(jí),WDM已經(jīng)成為Windows系統(tǒng)驅(qū)動(dòng)程序開發(fā)的主流。WDM體系結(jié)構(gòu)實(shí)行分層處理,即設(shè)備驅(qū)動(dòng)被分成過濾驅(qū)動(dòng)程序、功能驅(qū)動(dòng)程序、總線驅(qū)動(dòng)程序。每層驅(qū)動(dòng)程序把I/O請(qǐng)求劃分成更簡單的請(qǐng)求,以傳給下層的驅(qū)動(dòng)程序執(zhí)行??偩€驅(qū)動(dòng)程序最后收到I/O請(qǐng)求后,通過硬件抽象層,與硬件發(fā)生作用,從而完成I/O請(qǐng)求操作。在這樣的架構(gòu)下,通過編寫過濾器驅(qū)動(dòng)程序可以在不更改現(xiàn)有驅(qū)動(dòng)程序的情況下,方便地修改、增加現(xiàn)有驅(qū)動(dòng)程序的功能。通過編寫過濾器驅(qū)動(dòng)程序,可以以較小的代價(jià)擴(kuò)展硬件現(xiàn)有的功能,因此具有很強(qiáng)的實(shí)際應(yīng)用價(jià)值。
對(duì)于即插即用設(shè)備特別是應(yīng)用廣泛的USB設(shè)備,采用上述編寫過濾驅(qū)動(dòng)程序修改或增加現(xiàn)有驅(qū)動(dòng)程序功能的方法,每次設(shè)備插入計(jì)算機(jī)時(shí)都會(huì)產(chǎn)生一個(gè)鍵值,這個(gè)鍵值會(huì)由于使用不同的設(shè)備或插入不同的接口而不同,計(jì)算機(jī)對(duì)每個(gè)擁有新鍵值的設(shè)備都要重新安裝過濾驅(qū)動(dòng)程序,即幾乎每次設(shè)備插入時(shí)都要手動(dòng)安裝過濾驅(qū)動(dòng)程序,使用起來很不方便。
每一個(gè)產(chǎn)品的設(shè)備描述符必須有一個(gè)銷售商ID和由制造商指定的產(chǎn)品ID,主機(jī)中設(shè)備的INF文件也包含了這兩個(gè)值,Windows使用這兩個(gè)值來幫助決定為這個(gè)設(shè)備載入哪個(gè)驅(qū)動(dòng)。
發(fā)明內(nèi)容
為了解決上述存在的問題,本發(fā)明提供一種USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,克服了每次使用即插即用設(shè)備時(shí)手動(dòng)加載過濾驅(qū)動(dòng)程序的問題。
本發(fā)明通過以下方案實(shí)現(xiàn)一種USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,在計(jì)算機(jī)系統(tǒng)中運(yùn)行一個(gè)監(jiān)控程序,該監(jiān)控程序負(fù)責(zé)安裝與USB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序。
在上述方法中所述的監(jiān)控程序監(jiān)控USB設(shè)備的插入。
在上述方法中所述的監(jiān)控程序判斷插入U(xiǎn)SB設(shè)備的過濾驅(qū)動(dòng)程序是否安裝。
在上述方法中所述的監(jiān)控程序在計(jì)算機(jī)啟動(dòng)時(shí)就自動(dòng)加載。其自動(dòng)加載可以采用將監(jiān)控程序或其快捷方式拷貝到自啟動(dòng)目錄的方法。也可以采用其它開機(jī)自動(dòng)加載的方法。
在上述方法中所述的監(jiān)控程序監(jiān)控USB設(shè)備的插入,當(dāng)USB總線上枚舉到新插入的USB設(shè)備時(shí),便記錄這個(gè)USB設(shè)備的硬件相關(guān)參數(shù)。
在上述方法中所述的監(jiān)控程序還能夠掃描對(duì)應(yīng)注冊(cè)表硬件鍵,查找新插入U(xiǎn)SB設(shè)備在注冊(cè)表中是否有新增的硬件鍵或硬件鍵主鍵下是否有新增子鍵,當(dāng)找到新增的硬件鍵或新增的硬件鍵子鍵時(shí),安裝與插入U(xiǎn)SB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序。
在上述方法中所述監(jiān)控程序根據(jù)USB設(shè)備的銷售商ID和產(chǎn)品ID識(shí)別USB設(shè)備,并根據(jù)銷售商ID和產(chǎn)品ID找到與USB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序,并安裝USB設(shè)備的過濾驅(qū)動(dòng)程序。
在上述方法中監(jiān)控程序在安裝完當(dāng)前USB設(shè)備的過濾驅(qū)動(dòng)程序后,繼續(xù)尋找下一個(gè)USB設(shè)備,枚舉其鍵值相關(guān)參數(shù)并檢測是否有新增項(xiàng),安裝過濾驅(qū)動(dòng)程序,如此往復(fù),自動(dòng)安裝所有與主機(jī)連接過的USB設(shè)備的過濾驅(qū)動(dòng)程序。
本發(fā)明通過監(jiān)控程序監(jiān)控與計(jì)算機(jī)相連的USB設(shè)備,并自動(dòng)為其安裝過濾驅(qū)動(dòng)程序,實(shí)現(xiàn)對(duì)USB設(shè)備功能的修改和增加,因而克服了每次使用USB設(shè)備時(shí)手動(dòng)加載過濾驅(qū)動(dòng)程序的麻煩,方便用戶使用。
圖1是本發(fā)明的工作流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明監(jiān)控程序的工作流程進(jìn)行更詳細(xì)的描述。
本發(fā)明利用了現(xiàn)有的WDM驅(qū)動(dòng)程序模型的過濾驅(qū)動(dòng)技術(shù),并結(jié)合本發(fā)明所提出的利用監(jiān)控程序自動(dòng)加載過濾驅(qū)動(dòng)程序的方法,實(shí)現(xiàn)了即插即用設(shè)備,特別是USB設(shè)備過濾驅(qū)動(dòng)的自動(dòng)安裝。
如圖1所示,步驟100開始后,步驟101系統(tǒng)開機(jī)時(shí)自動(dòng)加載本發(fā)明所述的監(jiān)控程序。步驟102檢測是否有USB設(shè)備插入,如果沒有,則監(jiān)控程序繼續(xù)監(jiān)控檢測USB設(shè)備的插入。如果檢測到USB設(shè)備,則步驟103由系統(tǒng)進(jìn)行USB設(shè)備初始化,并枚舉此USB設(shè)備的鍵值相關(guān)參數(shù),步驟104掃描對(duì)應(yīng)的注冊(cè)表項(xiàng),步驟105檢測是否有匹配項(xiàng),即注冊(cè)表中此USB設(shè)備的硬件鍵或子鍵是否為新增項(xiàng),如判斷為否,即有新增的鍵值項(xiàng),則步驟106根據(jù)USB設(shè)備的銷售商ID和產(chǎn)品ID識(shí)別USB設(shè)備,找到與此USB設(shè)備相應(yīng)的過濾驅(qū)動(dòng)程序,步驟107安裝此USB設(shè)備的過濾驅(qū)動(dòng)程序,安裝過濾驅(qū)動(dòng)程序后此USB設(shè)備就能正常使用了。如步驟105判斷為是,則沒有檢測到新增的硬件鍵,也就是此USB設(shè)備的過濾驅(qū)動(dòng)程序?yàn)榭捎脿顟B(tài),返回步驟102繼續(xù)檢測是否有USB設(shè)備插入。步驟107安裝過濾驅(qū)動(dòng)程序后也返回步驟102,繼續(xù)檢測是否有USB設(shè)備插入,繼續(xù)下一個(gè)USB設(shè)備的枚舉。這樣反復(fù)檢測,本發(fā)明所述的監(jiān)控程序能夠自動(dòng)安裝所有與主機(jī)連接過的USB設(shè)備過濾驅(qū)動(dòng)程序。
本發(fā)明的特定實(shí)施例已對(duì)發(fā)明內(nèi)容做了詳盡說明。對(duì)本領(lǐng)域一般技術(shù)人員而言,在不背離本發(fā)明原理的前提下對(duì)它所做的任何顯而易見的改動(dòng),都不會(huì)超出本申請(qǐng)所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于在計(jì)算機(jī)系統(tǒng)中運(yùn)行一個(gè)監(jiān)控程序,該監(jiān)控程序負(fù)責(zé)安裝與USB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序。
2.如權(quán)利要求1所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述的監(jiān)控程序監(jiān)控USB設(shè)備的插入。
3.如權(quán)利要求1所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述的監(jiān)控程序判斷插入U(xiǎn)SB設(shè)備的過濾驅(qū)動(dòng)程序是否安裝。
4.如權(quán)利要求1、2或3所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述的監(jiān)控程序在計(jì)算機(jī)啟動(dòng)時(shí)就自動(dòng)加載。
5.如權(quán)利要求1、2或3所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述的監(jiān)控程序查找插入U(xiǎn)SB設(shè)備的硬件鍵或硬件鍵子鍵,安裝與插入U(xiǎn)SB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序。
6.如權(quán)利要求5所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述監(jiān)控程序根據(jù)USB設(shè)備的銷售商ID和產(chǎn)品ID識(shí)別USB設(shè)備,安裝USB設(shè)備的過濾驅(qū)動(dòng)程序。
7.如權(quán)利要求1、2或3所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述的監(jiān)控程序在安裝完當(dāng)前USB設(shè)備的過濾驅(qū)動(dòng)程序后,繼續(xù)尋找下一個(gè)USB設(shè)備,自動(dòng)安裝所有與主機(jī)連接過的USB設(shè)備的過濾驅(qū)動(dòng)程序。
8.如權(quán)利要求7所述的USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,其特征在于所述監(jiān)控程序掃描注冊(cè)表硬件鍵,安裝所有與主機(jī)連接過的USB設(shè)備的過濾驅(qū)動(dòng)程序。
全文摘要
本發(fā)明公開了一種USB設(shè)備過濾驅(qū)動(dòng)程序的自動(dòng)安裝方法,該方法在計(jì)算機(jī)系統(tǒng)中運(yùn)行一個(gè)監(jiān)控程序,該監(jiān)控程序負(fù)責(zé)安裝與USB設(shè)備對(duì)應(yīng)的過濾驅(qū)動(dòng)程序。所述的監(jiān)控程序在計(jì)算機(jī)啟動(dòng)時(shí)就自動(dòng)加載。所述的監(jiān)控程序監(jiān)控USB設(shè)備的插入。所述的監(jiān)控程序判斷插入U(xiǎn)SB設(shè)備的過濾驅(qū)動(dòng)程序是否安裝。監(jiān)控程序在安裝完當(dāng)前USB設(shè)備的過濾驅(qū)動(dòng)程序后,繼續(xù)尋找下一個(gè)USB設(shè)備,自動(dòng)安裝所有與主機(jī)連接過的USB設(shè)備的過濾驅(qū)動(dòng)程序。本發(fā)明通過監(jiān)控程序監(jiān)控與計(jì)算機(jī)相連的即插即用設(shè)備,并自動(dòng)為其安裝過濾驅(qū)動(dòng)程序,實(shí)現(xiàn)對(duì)即插即用設(shè)備功能的修改和增加,因而克服了每次使用即插即用設(shè)備時(shí)手動(dòng)加載過濾驅(qū)動(dòng)程序的麻煩,方便用戶使用。
文檔編號(hào)G06F9/445GK1834920SQ20061007866
公開日2006年9月20日 申請(qǐng)日期2006年4月30日 優(yōu)先權(quán)日2006年4月30日
發(fā)明者陸舟, 于華章 申請(qǐng)人:北京飛天誠信科技有限公司