1.一種修復(fù)驅(qū)動程序的方法,其特征在于,包括:
啟動待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序;
通過所述驅(qū)動修復(fù)程序檢測所述待修復(fù)驅(qū)動程序的驅(qū)動入口是否被修改;
若檢測到所述待修復(fù)驅(qū)動程序的驅(qū)動入口被修改,則通過所述驅(qū)動修復(fù)程序主動調(diào)用所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù)。
2.根據(jù)權(quán)利要求1所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述啟動待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序之前,包括:
安裝所述待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序。
3.根據(jù)權(quán)利要求2所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述安裝所述待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序,包括:
查詢預(yù)先保存的驅(qū)動修復(fù)程序配置文件中的配置信息是否處于可啟用狀態(tài),其中,所述驅(qū)動修復(fù)程序配置文件中預(yù)設(shè)有一條或多條配置信息,每條配置信息包括:所述驅(qū)動修復(fù)程序的文件名、所述驅(qū)動修復(fù)程序安裝到注冊表上的驅(qū)動服務(wù)鍵名及表示當前條配置信息是否可啟用的啟用標志;
若當前條配置信息處于可啟用狀態(tài),則提取當前條配置信息中的驅(qū)動修復(fù)程序的文件名及所述驅(qū)動修復(fù)程序安裝到注冊表上的驅(qū)動服務(wù)鍵名;
獲取所述驅(qū)動修復(fù)程序文件名指定的文件進行安裝的同時,將提取的所述驅(qū)動服務(wù)鍵名寫入注冊表。
4.根據(jù)權(quán)利要求3所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述驅(qū)動修復(fù)程序配置文件的文件格式為xml格式;
所述提取當前條配置信息中的驅(qū)動修復(fù)程序的文件名及所述驅(qū)動修復(fù)程序安裝到注冊表上的驅(qū)動服務(wù)鍵名,包括:
使用xml公共類解析所述驅(qū)動修復(fù)程序配置文件中的配置信息;
提取當前條配置信息中的驅(qū)動修復(fù)程序的文件名及所述驅(qū)動修復(fù)程序安裝到注冊表上的驅(qū)動服務(wù)鍵名。
5.根據(jù)權(quán)利要求1所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述啟動待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序包括:
以啟動服務(wù)的方式啟動所述待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序。
6.根據(jù)權(quán)利要求1所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述通過所述驅(qū)動修復(fù)程序檢測所述待修復(fù)驅(qū)動程序的驅(qū)動入口是否被修改包括:
通過所述驅(qū)動修復(fù)程序檢測所述待修復(fù)驅(qū)動程序是否能打開;
若不能打開,則判斷是否能獲取到所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù);
若能獲取到所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù),則確定所述待修復(fù)驅(qū)動程序的驅(qū)動入口被修改。
7.根據(jù)權(quán)利要求6所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述獲取到所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù)包括:
獲取指向所述待修復(fù)驅(qū)動程序的驅(qū)動對象指針;
依據(jù)獲取到的所述驅(qū)動對象指針,獲取所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù)。
8.根據(jù)權(quán)利要求6所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述方法還包括:
若所述待修復(fù)驅(qū)動程序不能打開,且無法獲取到所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù),則主動創(chuàng)建所述待修復(fù)驅(qū)動程序的注冊表啟動項,重新加載所述待修復(fù)驅(qū)動程序。
9.根據(jù)權(quán)利要求8所述的修復(fù)驅(qū)動程序的方法,其特征在于,所述創(chuàng)建所述待修復(fù)驅(qū)動程序的注冊表啟動項包括:
創(chuàng)建所述待修復(fù)驅(qū)動程序的安裝路徑;
創(chuàng)建所述待修復(fù)驅(qū)動程序的啟動類型。
10.一種修復(fù)驅(qū)動程序的裝置,其特征在于,包括:
啟動模塊,用于啟動待修復(fù)驅(qū)動程序?qū)?yīng)的驅(qū)動修復(fù)程序;
檢測模塊,用于通過所述驅(qū)動修復(fù)程序檢測所述待修復(fù)驅(qū)動程序的驅(qū)動入口是否被修改;
修復(fù)模塊,用于若檢測到所述待修復(fù)驅(qū)動程序的驅(qū)動入口被修改,則通過所述驅(qū)動修復(fù)程序主動調(diào)用所述待修復(fù)驅(qū)動程序的驅(qū)動入口函數(shù)。