Windows作業系統實現無警示彈出外部光碟機設備的方法
2023-05-29 19:57:31
專利名稱:Windows作業系統實現無警示彈出外部光碟機設備的方法
技術領域:
本發明涉及計算機作業系統領域,特別涉及計算機作業系統對外部光碟機設備控制 的領域,具體是指一種Windows作業系統實現無警示彈出外部光碟機設備的方法。
背景技術:
目前,外部光碟機設備是最常見的計算機輔助設備,可以用於外部存儲和通信等方 面。而兼容性佳且方便輕巧的USB外部光碟機設備更受到用戶的歡迎。但是,在Windows作業系統平臺上,當彈出一個正在使用的外部光碟機設備後,有可 能會出現不能卸載驅動程序的情況,並且系統會提示相關警告,表示正在打開一個不存在 的卷盤符等等。尤其是在Windows 7作業系統和Windows Vista作業系統平臺上,當上述 作業系統打開自動運行後,系統會自動打開外部光碟機設備的句柄,這時若將外部光碟機設備 彈出,系統一定會提示警告。這一不友好的系統界面對用戶的使用帶來的不便。
發明內容
本發明的目的是克服了上述現有技術中的缺點,提供一種在彈出外部光碟機設備 時,作業系統平臺不提示警告的方法。本發明所提供的方法的設計思路是,通過修改外部光碟機設備在接收到作業系統的 彈出操作命令時的處理辦法,首先告訴作業系統,外部光碟機設備不存在,然後再處理彈出操 作,這樣作業系統就不會提示任何警告,並且可以正常地卸載驅動程序。為了實現上述的目的,本發明提供了一種在Windows作業系統平臺上實現無警示 彈出外部光碟機設備的方法,所述的Windows作業系統具有與所述的外部光碟機設備對應的驅 動程序,所述的驅動程序用於實現外部光碟機設備與計算機的數據連接,所述的計算機包括 一即插即用管理器,該即插即用管理器負責所述的驅動程序的加載與卸載,所述的彈出外 部光碟機設備是指Windows作業系統通過命令控制斷開所述的外部光碟機設備與所述的計算 機間的數據連接。其主要特點是,所述的方法包括以下步驟(0)根據用戶操作,作業系統接收到相應的彈出外部光碟機設備請求;(1)作業系統向外部光碟機設備發出彈出光碟機設備的SCSI命令;(2)所述的外部光碟機設備在收到彈出設備的SCSI命令後,將該外部光碟機設備的狀 態標識修改為存儲介質不存在的狀態;(3)在作業系統繼續向該外部光碟機設備發送其它指令的情況下,所述的外部光碟機 設備向作業系統發送指令失敗信息;(4)作業系統向所述的外部光碟機設備發出失敗原因查詢指令;(5)所述的外部光碟機設備向作業系統發送失敗原因為「設備的存儲介質不存在」的 狀態信息;(6)作業系統主動釋放打開外部光碟機設備的句柄,外部光碟機設備主動斷開其與所 述的計算機間的數據連接;
3
(7)所述的即插即用設備管理器判斷外部光碟機設備是否已移除,若是,則進入步驟 (8),若否,則返回步驟(3);(8)所述的即插即用管理器卸載所有與此外部光碟機設備相關的驅動程序。該在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法中,所述的外 部光碟機設備的狀態標識為探測碼。該在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法中,所述的外 部光碟機設備為USB接口光碟機設備,所述的驅動程序為外部Windows作業系統提供的USB接 口光碟機設備驅動程序。所述的USB接口光碟機設備還包括一 USB控制器,所述的USB控制器 用於實現計算機與USB接口光碟機設備的電連接,所述的彈出外部光碟機設備具體指USB接口 光碟機設備斷開其USB控制器的電源,所述的步驟(6)具體包括以下步驟作業系統主動釋放斷開外部光碟機設備的句柄,USB接口光碟機設備切斷其USB控制 器的電源,USB接口光碟機設備斷開與計算機間的數據連接。該在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法中,所述的 USB接口光碟機設備可以是時分同步碼分多址數據卡或時分同步碼分多址長期演進數據卡。該在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法中,所述的 Windows作業系統可以是Windows XP 32位作業系統、Windows Vista 32位作業系統、 Windows Vista 64位作業系統、Windows 7 32位作業系統或者Windows 7 64位作業系統。採用了該發明的在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方 法,當外部光碟機設備接收到作業系統的彈出指令後,首先將其狀態標識修改為表示該設備 的存儲介質不存在,然後導致作業系統的指令運行失敗後,作業系統釋放已經打開的外部 光碟機設備的句柄,就可以安全地彈出外部光碟機設備,而作業系統也不再會提示任何警告。
圖1為本發明所提供的Windows作業系統平臺上實現無警示彈出外部光碟機設備的 方法的流程圖。
具體實施例方式為了能夠更清楚地理解本發明的技術內容,特舉以下實施方式詳細說明。請參閱圖1所示,為本發明所提供的Windows作業系統平臺上實現無警示彈出外 部光碟機設備的方法的一種實施方式的流程圖。該實施方式中,所述的外部光碟機設備為USB接口光碟機設備,所述的Windows操作 系統具有與所述的USB接口光碟機設備對應的USB接口光碟機設備驅動程序,所述的USB接口 光碟機設備驅動程序用於實現USB接口光碟機設備與計算機的數據連接,所述的計算機包括一 PNP(即插即用)設備管理器,該PNP設備管理器負責所述的USB接口光碟機設備驅動程序 的加載與卸載,所述的彈出外部光碟機設備是指Windows作業系統通過命令控制斷開所述的 USB接口光碟機設備與所述的計算機間的數據連接。其主要特點是,所述的方法包括以下步 驟(0)根據用戶操作,Windows作業系統接收到相應的彈出USB接口光碟機設備請求;(1)Windows作業系統向外部光碟機設備發出彈出USB接口光碟機設備的SCSI命令;
(2)所述的USB接口光碟機設備在收到彈出設備的SCSI命令後,將該USB接口光碟機 設備的狀態標識修改為存儲介質不存在的狀態;(3)在Windows作業系統繼續向該USB接口光碟機設備發送其它指令的情況下,所述 的USB接口光碟機設備向Windows作業系統發送指令失敗信息;(4) Windows作業系統向所述的USB接口光碟機設備發出失敗原因查詢指令;(5)所述的USB接口光碟機設備向Windows作業系統發送失敗原因為「設備的存儲 介質不存在」的狀態信息;(6) Windows作業系統主動釋放打開外部光碟機設備的句柄,USB接口光碟機設備主動 斷開其與所述的計算機間的數據連接;(7)所述的PNP設備管理器判斷USB接口光碟機設備是否已移除,若是,則進入步驟 (8),若否,則返回步驟(3);(8)所述的PNP設備管理器卸載所有與此USB接口光碟機設備相關的驅動程序。在本發明的一種優選實施方式中,所述的USB接口光碟機設備的狀態標識為探測碼。在本發明的另一種優選實施方式中,所述的USB接口光碟機設備還包括一 USB控制 器,所述的USB控制器用於實現計算機與USB接口光碟機設備的電連接,所述的彈出外部光碟機 設備具體指USB接口光碟機設備斷開其USB控制器的電源,所述的步驟(6)具體包括以下步 驟作業系統主動釋放斷開外部光碟機設備的句柄,USB接口光碟機設備切斷其USB控制 器的電源,USB接口光碟機設備斷開與計算機間的數據連接。在本發明的又一種優選實施方式中,所述的USB光碟機設備為TD數據卡,所述的TD 數據卡可以是TD-CDMA卡(時分同步碼分多址數據卡)或TD-LTE卡(時分同步碼分多址 長期演進數據卡)。在本發明的再一種優選實施方式中,所述的Windows作業系統可以是Windows XP 32位作業系統、Windows Vista 32位作業系統、Windows Vista 64位作業系統、Windows 7 32位作業系統或者Windows 7 64位作業系統。將本發明應用於Windows作業系統中進行TD數據卡彈出操作一般採用如下方 案(1)在Windows作業系統進行彈出操作時,TD數據卡的驅動模塊會收到START/ ST0PUNIT的SCSI命令,TD數據卡的固件代碼中修改相應的SENSE CODE狀態。(2) Windows作業系統會繼續發送其它SCSI命令對TD數據卡進行其它處理,這時 固件會返回失敗CSW的系統狀態。(3) Windows作業系統會發送REQUEST SENSE命令,以獲取上個SCSI命令處理失敗 的原因,固件返回在START/STOP UNIT設置的SENSE CODE值,告訴Windows作業系統MEDIUM NOT RESENT。(4) Windows作業系統會做相應的處理,關閉已經打開的相關句柄等。(5)固件在一定的條件滿足後,會執行具體的彈出操作。(6) Windows作業系統的PNP管理檢測到TD數據卡拔出,就會卸載相應的驅動程序。
目前Windows 7作業系統已成為主流作業系統,使用該作業系統的計算機會打開 外部光碟機設備自動運行,每次彈出外部光碟機設備Windows 7作業系統都會彈出警告,對用 戶使用造成很大的困擾,並且有時會導致外部光碟機設備的驅動程序不能卸載,佔用部分系 統資源。利用本發明所提供的方法,只需修改了少量固件代碼,在不影響用戶使用的前提 下,徹底解決了這一不友好的提示界面問題。採用了該發明的計算機作業系統平臺上實現無警示彈出外部光碟機設備的方法,當 外部光碟機設備接收到作業系統的彈出指令後,首先將其狀態標識修改為表示該設備的存儲 介質不存在,然後導致作業系統的指令運行失敗後,作業系統釋放已經打開的外部光碟機設 備的句柄,就可以安全地彈出外部光碟機設備,而作業系統也不再會提示任何警告。在此說明書中,本發明已參照其特定的實施方式作了描述。但是,很顯然仍可以作 出各種修改和變換而不背離本發明的精神和範圍。因此,說明書和附圖應被認為是說明性 的而非限制性的。
權利要求
一種在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法,所述的Windows作業系統具有與所述的外部光碟機設備對應的驅動程序,所述的驅動程序用於實現外部光碟機設備與計算機的數據連接,所述的計算機包括一即插即用管理器,該即插即用管理器負責所述的驅動程序的加載與卸載,所述的彈出外部光碟機設備是指Windows作業系統通過命令控制斷開所述的外部光碟機設備與所述的計算機間的數據連接,其特徵在於,所述的方法包括以下步驟(0)根據用戶操作,作業系統接收到相應的彈出外部光碟機設備請求;(1)作業系統向外部光碟機設備發出彈出外部光碟機設備的SCSI命令;(2)所述的外部光碟機設備在收到彈出設備的SCSI命令後,將該外部光碟機設備的狀態標識修改為存儲介質不存在的狀態;(3)在作業系統繼續向該外部光碟機設備發送其它指令的情況下,所述的外部光碟機設備向作業系統發送指令失敗信息;(4)作業系統向所述的外部光碟機設備發出失敗原因查詢指令;(5)所述的外部光碟機設備向作業系統發送失敗原因為「設備的存儲介質不存在」的狀態信息;(6)作業系統主動釋放打開外部光碟機設備的句柄,外部光碟機設備主動斷開其與所述的計算機間的數據連接;(7)所述的即插即用設備管理器判斷外部光碟機設備是否已移除,若是,則進入步驟(8),若否,則返回步驟(3);(8)所述的即插即用管理器卸載所有與此外部光碟機設備相關的驅動程序。
2.根據權利要求1所述的在Windows作業系統平臺上實現無警示彈出外部光碟機設備的 方法,其特徵在於,所述的外部光碟機設備的狀態標識為探測碼。
3.根據權利要求1或2所述的在Windows作業系統平臺上實現無警示彈出外部光碟機 設備的方法,其特徵在於,所述的外部光碟機設備為USB接口光碟機設備,所述的驅動程序為 Windows作業系統提供的USB接口光碟機設備驅動程序。
4.根據權利要求3所述的在Windows作業系統平臺上實現無警示彈出外部光碟機設備的 方法,其特徵在於,所述的USB接口光碟機設備還包括一 USB控制器,所述的USB控制器用於 實現計算機與USB接口光碟機設備的電連接,所述的彈出外部光碟機設備具體指USB接口光碟機 設備斷開其USB控制器的電源,所述的步驟(6)具體包括以下步驟作業系統主動釋放斷開外部光碟機設備的句柄,USB接口光碟機設備切斷其USB控制器的 電源,USB接口光碟機設備斷開與計算機間的數據連接。
5.根據權利要求3所述的在Windows作業系統平臺上實現無警示彈出外部光碟機設備的 方法,其特徵在於,所述的USB接口光碟機設備為時分同步碼分多址數據卡或時分同步碼分 多址長期演進數據卡。
6.根據權利要求1所述的在Windows作業系統平臺上實現無警示彈出外部光碟機設 備的方法,其特徵在於,所述的Windows作業系統為Windows XP 32位作業系統、Windows Vista32位作業系統、Windows Vista 64位作業系統、Windows 7 32位作業系統或者 Windows 7 64位作業系統。
全文摘要
本發明涉及一種在Windows作業系統平臺上實現無警示彈出外部光碟機設備的方法,首先,外部光碟機設備在收到作業系統發出的彈出設備的指令後,設備將按照SCSI協議上報設備的存儲介質不存在的狀態給作業系統,然後作業系統在收到該狀態信息後會把此光碟機設備的句柄關閉,做些數據的清除工作,設備在一定時間後,斷開USB控制器的電實現設備的安全彈出。採用了本發明所提供的方法,通過修改外部光碟機設備在接收到作業系統的彈出命令時的處理辦法,首先告訴作業系統外部光碟機設備的存儲介質不存在,作業系統收到該狀態信息後,釋放已經打開的外部光碟機設備的句柄,就可以安全地彈出外部光碟機設備,而不再會提示任何警告。
文檔編號G06F9/44GK101859248SQ20101018759
公開日2010年10月13日 申請日期2010年5月28日 優先權日2010年5月28日
發明者邢大靜 申請人:上海市共進通信技術有限公司