專利名稱:信息處理設(shè)備、程序控制方法和計(jì)算機(jī)程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理設(shè)備、程序控制方法和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
近年來,通常有能夠使用通用接口動(dòng)態(tài)地連接各種類型的裝置的配置。這樣的通 用接口的典型示例是USB (通用串行總線)?,F(xiàn)在,由USB實(shí)施者論壇(USB Implementers Forum, Inc.) (USB-IF)實(shí)行 USB 規(guī)范的開發(fā)和管理。在因特網(wǎng) <URL :http://www. usb. org/ developers/docs/usb_20_122208. zip> 上的 USB 實(shí)施者論壇,"Universal Serial Bus Specification Revision 2. 0 (通用串行總線規(guī)范修訂版2. 0) ” [在線],[2009年1月9 日檢索](非專利文件1)中能夠找到USB規(guī)范的細(xì)節(jié)?;赨SB規(guī)范的各種USB裝置(例 如,諸如USB鍵盤或者鼠標(biāo)的輸入裝置、諸如打印機(jī)的輸出裝置、以及諸如硬盤或者USB存 儲(chǔ)器的存儲(chǔ)存儲(chǔ)器(memory storage)(例如,具有USB端口的閃速裝置或者閃速存儲(chǔ)器,一 般是便攜的)在個(gè)人計(jì)算機(jī)領(lǐng)域內(nèi)變得很普遍。具有以上例示的各種功能的裝置作為USB裝置存在。當(dāng)控制USB裝置的USB主機(jī) (PC)檢測(cè)到具有新功能的USB裝置的連接時(shí),USB主機(jī)在系統(tǒng)程序(系統(tǒng)軟件)中安裝諸 如USB裝置特有的功能的控制程序(控制軟件)或者USB裝置特有的驅(qū)動(dòng)。這樣,通常能 夠在USB主機(jī)中使用USB裝置。為了能夠使用USB裝置,必須安裝上述控制程序。存在獲取安裝所需要的數(shù) 據(jù)(控制程序)很麻煩的問題。作為與這樣的問題相關(guān)的技術(shù),有在日本專利申請(qǐng)?zhí)亻_ No. 2002-373144 (專利文件1)、曰本專利申請(qǐng)?zhí)亻_No. 2008-139916 (專利文件2)以及日本 專利申請(qǐng)?zhí)亻_No. 2000-194645 (專利文件3)中公開的已知技術(shù)。專利文件1公開了通過在USB裝置中保存(hold)USB裝置驅(qū)動(dòng)(控制程序),然后 直接從USB裝置中獲取安裝所需的USB裝置驅(qū)動(dòng)來去除麻煩的技術(shù)。專利文件2公開了與專利文件1基本上相同的技術(shù),即,在USB裝置中保存驅(qū)動(dòng) (控制程序),然后在PC (USB主機(jī))中保存指示驅(qū)動(dòng)的安裝狀態(tài)的安裝標(biāo)志,以便當(dāng)要求安 裝驅(qū)動(dòng)時(shí)將驅(qū)動(dòng)安裝到USB裝置內(nèi)的技術(shù)。專利文件3公開了與專利文件1和2基本上相同的技術(shù),即,在USB裝置中預(yù)先存 儲(chǔ)控制軟件(驅(qū)動(dòng)、應(yīng)用(utility)、等等),然后將控制軟件從USB裝置傳送到主機(jī)的技 術(shù)。當(dāng)能夠?qū)⒖刂瞥绦?控制軟件)添加到(安裝到)USB主機(jī)(PC)的系統(tǒng)程序(系 統(tǒng)軟件)中時(shí),專利文件1至3中公開的技術(shù)是有效的技術(shù)。然而,近年來,諸如USB的通 用接口也被用于除PC領(lǐng)域之外的諸如MFP(多功能打印機(jī))或者LP(激光打印機(jī))的安裝裝置。在這樣的安裝裝置中,在許多情況下,能夠?qū)⑾到y(tǒng)程序存儲(chǔ)在不能被重寫和另外記錄 的ROM中。因此,因?yàn)椴荒軐⒖刂瞥绦蛱砑拥?安裝到)安裝裝置中,所以專利文件1至3 中公開的技術(shù)是無(wú)效的。當(dāng)USB裝置連接到這樣的安裝裝置上時(shí),只有當(dāng)將USB裝置特有 的功能或者USB裝置特有的控制程序預(yù)先并入到安裝裝置中時(shí),才能使用USB裝置。當(dāng)控 制程序沒有被預(yù)先并入到安裝裝置中時(shí),不能使用USB裝置。
從所述情況中,使用諸如USB的通用接口的設(shè)備需要通知用戶是否能夠使用 連接到其的裝置。此外,在因特網(wǎng) <URL ;http://www. usb. org/developers/docs/EH Compliance vl 0. pdf> 上的 USB 實(shí)施者論壇,“USB-IF EmbeddedHost Compliance Plan,,, 修訂版1. 0,2006年8月,[在線],[2009年1月9日檢索](非專利文件2)中描述了在安 裝裝置中提供通知用戶是否能夠使用連接裝置的“No Silent Failure (非無(wú)聲故障)”功 能。為了實(shí)現(xiàn)該功能,有必要使安裝裝置唯一地確定是否能夠使用所連接的USB裝置,然后 確定是否將確定結(jié)果報(bào)告給用戶。另一方面,提出了不能重寫或者另外寫入MFP或者LP的系統(tǒng)程序的設(shè)備能夠容 易地添加功能增強(qiáng)程序的技術(shù)。日本專利申請(qǐng)?zhí)亻_No.2004-046804(專利文件4)中公開 了在諸如SD卡(登記商標(biāo))的可附加/可拆卸外部存儲(chǔ)裝置中保存功能增強(qiáng)程序并且檢 測(cè)外部存儲(chǔ)裝置的附加/拆卸,以便自動(dòng)啟動(dòng)功能增強(qiáng)程序的技術(shù)。通過使用專利文件4 中公開的技術(shù),在一些情況下能夠使用在諸如MFP或者LP的設(shè)備中傳統(tǒng)上不能使用的外 部連接裝置。例如,即使當(dāng)數(shù)碼相機(jī)連接到諸如MFP或者LP的設(shè)備上時(shí),也不能傳統(tǒng)地使 用數(shù)碼相機(jī)。然而,通過應(yīng)用專利文件4中公開的技術(shù)到諸如MFP或者LP的設(shè)備,能夠?qū)?因特網(wǎng) <URL :http://www. cipa. jp/pictbridge/index_j. html> 上的有限責(zé)任媒介公司照 相機(jī)與圖像產(chǎn)品協(xié)會(huì)(limited-liability intermediatecorporation camera & imaging products association),“PictBridge_CIPA,,[在線],[2009 年 1 月 9 日檢索](非專利文 件3)中公開的“PictBridge”相關(guān)的程序作為功能增強(qiáng)程序添加到諸如MFP或者LP的設(shè) 備。這樣,存在打印機(jī)能夠直接打印來自數(shù)碼相機(jī)的圖像的情況。如果另外回顧能夠通過應(yīng)用專利文件4中公開的技術(shù)添加擴(kuò)展程序(擴(kuò)展軟件) 到其的安裝裝置,則存在有時(shí)不能確定是否能夠使用連接到通用接口的外部連接裝置的問 題。PC等等能夠修改或者添加系統(tǒng)程序(系統(tǒng)軟件)。PC能夠保存指示是否能夠通過 在諸如HDD的記錄介質(zhì)上重寫系統(tǒng)文件(例如,通常稱為微軟公司的Windows (登記商標(biāo)) 中的“登記”的文件組)來使用外部連接裝置的信息。然而,不能重寫或者添加系統(tǒng)程序的 安裝裝置不能保存指示是否能夠使用外部連接裝置的信息。此外,直到啟動(dòng)系統(tǒng)程序時(shí)為 止,不可能知道存在或者不存在擴(kuò)展程序。例如,如上所述,即使添加“PictBridge”程序一 次,在這之后,安裝裝置也必須再次確定當(dāng)保存“PictBridge”程序的外部存儲(chǔ)器裝置被移 除時(shí)不能使用數(shù)碼相機(jī)。
發(fā)明內(nèi)容
本發(fā)明的目的是至少部分地解決現(xiàn)有技術(shù)中的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理設(shè)備,包括外部記錄介質(zhì)連接單元,被 配置為連接外部記錄介質(zhì);外部裝置連接單元,被配置為以預(yù)定接口連接多種類型的外部裝置;程序啟動(dòng)單元,啟動(dòng)存儲(chǔ)在連接到外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中的程序; 外部裝置連接檢測(cè)單元,檢測(cè)外部裝置與外部裝置連接單元的連接;第一信息獲取單元,當(dāng) 外部裝置連接檢測(cè)單元檢測(cè)到外部裝置與外部裝置連接單元的連接時(shí),獲取與連接到外部 裝置連接單元的外部裝置相關(guān)的第一信息;第二信息獲取單元,通過執(zhí)行程序獲取與能夠 使用的外部裝置相關(guān)的第二信息;確定單元,通過比較第一信息與第二信息確定是否能夠 使用連接到外部裝置連接單元的外部裝置;控制單元,當(dāng)確定單元確定能夠使用連接到外 部裝置連接單元的外部裝置時(shí),控制連接到外部裝置連接單元的外部裝置;以及通知單元, 當(dāng)確定單元確定不能使用連接到外部裝置連接單元的外部裝置時(shí),通知用戶不能使用外部
直ο另外,根據(jù)本發(fā)明的另一方面,提供了用于信息處理設(shè)備的程序控制方法,該信息 處理設(shè)備包括被配置為連接外部記錄介質(zhì)的外部記錄介質(zhì)連接單元以及被配置為以預(yù)定 接口連接多種類型的外部裝置的外部裝置連接單元。該程序控制方法包括啟動(dòng)記錄在連 接到外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中的程序;檢測(cè)外部裝置與外部裝置連接單元 的連接;第一獲取步驟,包括在檢測(cè)時(shí)當(dāng)檢測(cè)到外部裝置與外部裝置連接單元的連接時(shí),獲 取與連接到外部裝置連接單元的外部裝置相關(guān)的第一信息;第二獲取步驟,包括通過執(zhí)行 程序獲取與能夠使用的外部裝置相關(guān)的第二信息;通過比較第一信息與第二信息,確定是 否能夠使用連接到外部裝置連接單元的外部裝置;當(dāng)確定能夠使用連接到外部裝置連接單 元的外部裝置時(shí),控制連接到外部裝置連接單元的外部裝置;以及通知步驟,包括當(dāng)確定不 能使用連接到外部裝置連接單元的外部裝置時(shí),通知用戶不能使用外部裝置。此外,根據(jù)本發(fā)明的又一方面,提供了包括具有具體表現(xiàn)為介質(zhì)的計(jì)算機(jī)可讀程 序代碼的計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,用于實(shí)現(xiàn)包括被配置為連接外部記錄介質(zhì)的 外部記錄介質(zhì)連接單元以及被配置為以預(yù)定接口連接多個(gè)類型的外部裝置的外部裝置連 接單元的信息處理設(shè)備的程序控制方法,當(dāng)執(zhí)行時(shí),所述程序代碼使得計(jì)算機(jī)執(zhí)行啟動(dòng)在 連接到外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中記錄的程序;檢測(cè)外部裝置與外部裝置連 接單元的連接;第一獲取步驟,包括在檢測(cè)時(shí)當(dāng)檢測(cè)到外部裝置與外部裝置連接單元的連 接時(shí),獲取與連接到外部裝置連接單元的外部裝置相關(guān)的第一信息;第二獲取步驟,包括通 過執(zhí)行程序獲取與能夠使用的外部裝置相關(guān)的第二信息;通過比較第一信息與第二信息, 確定是否能夠使用連接到外部裝置連接單元的外部裝置;當(dāng)確定能夠使用連接到外部裝置 連接單元的外部裝置時(shí),控制連接到外部裝置連接單元的外部裝置;以及通知步驟,包括當(dāng) 確定不能使用連接到外部裝置連接單元的外部裝置時(shí),通知用戶不能使用外部裝置。通過閱讀以下本發(fā)明優(yōu)選實(shí)施例的詳細(xì)說明,并與附圖一起考慮,能夠更好地理 解本發(fā)明的上述以及其它目的、特征、優(yōu)點(diǎn)以及技術(shù)和工業(yè)重要性。
圖1是說明根據(jù)本發(fā)明第一實(shí)施例的圖像形成設(shè)備(MFP)的配置的框圖;圖2是說明存儲(chǔ)在圖1所示的ROM中的程序的模塊配置示例圖;圖3是說明存儲(chǔ)在圖1所示的插入到卡槽中的卡中的擴(kuò)展程序的模塊配置示例 圖;圖4A是說明能夠連接到圖1所示的USB端口的USB裝置的示例圖4B是說明能夠連接到圖1所示的USB端口的USB裝置的示例圖;圖4C是說明能夠連接到圖1所示的USB端口的USB裝置的示例圖;
圖5是簡(jiǎn)要說明根據(jù)第一實(shí)施例的圖像形成設(shè)備中的程序模塊之間的合作關(guān)系 的圖;圖6是簡(jiǎn)要說明在啟動(dòng)根據(jù)第一實(shí)施例的圖像形成設(shè)備時(shí)各程序模塊的處理序 列的圖;圖7是說明在圖5所示的USB裝置監(jiān)控單元內(nèi)的表中登記的登記信息示例圖;圖8是簡(jiǎn)要說明根據(jù)第一實(shí)施例的圖像形成設(shè)備中的程序模塊的處理序列的圖;圖9是簡(jiǎn)要說明當(dāng)USB裝置連接到圖1所示的USB端口時(shí),USB裝置監(jiān)控單元的 處理的圖;圖10是簡(jiǎn)要說明根據(jù)第一實(shí)施例的圖像形成設(shè)備中的程序模塊的處理序列的 圖;圖11是簡(jiǎn)要說明根據(jù)第一實(shí)施例的圖像形成設(shè)備中的程序模塊的處理序列的 圖;圖12是簡(jiǎn)要說明根據(jù)第一實(shí)施例的圖像形成設(shè)備中的程序模塊的處理序列的 圖;圖13是說明在圖5所示的USB裝置監(jiān)控單元內(nèi)的表中登記的登記信息的示例的 圖;圖14是簡(jiǎn)要說明根據(jù)本發(fā)明第二實(shí)施例的圖像形成設(shè)備中的程序模塊的處理序 列的圖;圖15是簡(jiǎn)要說明根據(jù)本發(fā)明第三實(shí)施例的圖像形成設(shè)備中的程序模塊之間的合 作關(guān)系的圖;圖16是簡(jiǎn)要說明在啟動(dòng)根據(jù)第三實(shí)施例的圖像形成設(shè)備時(shí)各程序模塊的處理序 列的圖。
具體實(shí)施例方式以下將參考附圖詳細(xì)解釋本發(fā)明的示例性實(shí)施例。相同部件具有相同的附圖標(biāo) 記,省略對(duì)它們的描述。圖1是說明根據(jù)本發(fā)明第一實(shí)施例的圖像形成設(shè)備(MFP) 1的配置的框圖。根據(jù) 第一實(shí)施例,將根據(jù)本發(fā)明的信息處理設(shè)備應(yīng)用于圖像形成設(shè)備。圖像形成設(shè)備1包括控制器2、圖像形成引擎3、以及操作面板4??刂破?控制所 有多功能產(chǎn)品、制圖(drawing)、通信、以及來自操作面板4的輸入。圖像形成引擎3是打印機(jī)引擎。例如,圖像形成引擎3是黑白繪圖儀、單色鼓繪圖 儀、四色鼓繪圖儀、掃描儀、或者傳真單元。另外,除諸如繪圖儀之類的所謂的引擎部分之 夕卜,圖像形成引擎3還包括諸如誤差擴(kuò)散或者伽馬轉(zhuǎn)換之類的圖像處理部分。控制器2包括CPU 21、系統(tǒng)存儲(chǔ)器22、ASIC (專用集成電路)23、R0M(只讀存儲(chǔ) 器)24、USB主機(jī)控制器25、USB端口 26、以及卡槽27。CPU 21對(duì)多功能產(chǎn)品實(shí)行總的控制以及經(jīng)由ASIC 23連接到其它部件。ASIC 23是具有用于圖像處理的硬件元件(element)的圖像處理IC (集成電路),以及具有連接圖像形成引擎3、操作面板4、CPU 21、系統(tǒng)存儲(chǔ)器22、R0M 24、USB主機(jī)控制器25、以及卡槽27的橋接器的作用。ASIC 23包括控制系統(tǒng)存儲(chǔ)器22的存儲(chǔ)器控制器、使用 硬件邏輯執(zhí)行圖像數(shù)據(jù)的旋轉(zhuǎn)等的多個(gè)DMAC(直接存儲(chǔ)器存取控制器)、以及通過ASIC與 圖像形成引擎3之間的PCI總線執(zhí)行數(shù)據(jù)傳送等的PCI單元。ASIC 23經(jīng)由PCI總線連接 到圖像形成引擎3、R0M 24、USB主機(jī)控制器25、以及卡槽27。操作面板4直接連接到ASIC 23。系統(tǒng)存儲(chǔ)器22是RAM(隨機(jī)存取存儲(chǔ)器),其用作用于開發(fā)程序(軟件)或者數(shù)據(jù) 的存儲(chǔ)器、用于在打印機(jī)中制圖的存儲(chǔ)器、等等。ROM 24是讀出專用存儲(chǔ)器,其用作用于存儲(chǔ)圖像形成設(shè)備1的系統(tǒng)程序(軟件) 或者數(shù)據(jù)的存儲(chǔ)器。在啟動(dòng)圖像形成設(shè)備1時(shí),CPU 21將存儲(chǔ)在ROM 24中的程序加載到 系統(tǒng)存儲(chǔ)器22中,并執(zhí)行加載在系統(tǒng)存儲(chǔ)器22中的程序。將存儲(chǔ)擴(kuò)展程序(擴(kuò)展軟件)的外部記錄介質(zhì)(例如,SD卡(登記商標(biāo))等等, 以下,“卡”)插入到卡槽27中。當(dāng)將存儲(chǔ)擴(kuò)展程序的卡安裝到卡槽27時(shí),執(zhí)行系統(tǒng)程序的 CPU 21自動(dòng)執(zhí)行(啟動(dòng))存儲(chǔ)在卡中的擴(kuò)展程序。因?yàn)閳?zhí)行(啟動(dòng))存儲(chǔ)在卡中的擴(kuò)展程 序的方法和過程不是本發(fā)明的要點(diǎn),所以省略對(duì)它們的描述。作為執(zhí)行(啟動(dòng))存儲(chǔ)在卡 中的擴(kuò)展程序的方法的示例,例如,能夠使用專利文件4中公開的技術(shù)。然而,本發(fā)明并不 限于此。此外,卡槽是示例性的。因此,如果裝置能夠連接或者安裝到存儲(chǔ)擴(kuò)展程序的記錄 介質(zhì),則裝置并不限于卡槽。操作面板4是執(zhí)行圖像形成設(shè)備1和用戶之間的接口的部分,且包括IXD (液晶顯 示)和按鍵開關(guān)。操作面板4將圖像形成設(shè)備1的各種類型的狀態(tài)和操作指令顯示在LCD 上,以及接受來自用戶的按鍵開關(guān)輸入。當(dāng)不能使用連接到USB端口 26的外部連接裝置時(shí), 通過操作面板4將結(jié)果通知給用戶。操作面板是示例性的。因此,如果裝置能夠?qū)⒔Y(jié)果通 知給用戶,則裝置并不限于操作面板。具有以USB規(guī)范定義的連接器(插頭)的各種USB裝置連接到USB端口(插座)26。 USB主機(jī)控制器25是以USB規(guī)范定義的、在連接到USB端口 26的控制器和USB裝置之間執(zhí) 行數(shù)據(jù)傳送的主機(jī)控制器。USB主機(jī)控制器25也是滿足公知的EHCI (增強(qiáng)主機(jī)控制器接 口)規(guī)范的硬件。圖2是說明存儲(chǔ)在ROM 24中、由CPU 21執(zhí)行的程序(軟件)的模塊配置的示例 圖。如圖2所示,OS (操作系統(tǒng))包括USB主機(jī)控制器驅(qū)動(dòng)、USB主機(jī)驅(qū)動(dòng)、操作面板驅(qū)動(dòng)、 等等。CPU 21能夠執(zhí)行這些驅(qū)動(dòng)程序來控制諸如USB主機(jī)控制器25或者操作面板4的硬 件。SCS、NCS、OCS、MCS、以及FCS是分別執(zhí)行系統(tǒng)和網(wǎng)絡(luò)的服務(wù)控制的服務(wù)控制模塊 和程序。此外,打印機(jī)應(yīng)用程序、掃描儀應(yīng)用程序、復(fù)印應(yīng)用程序、以及傳真應(yīng)用程序是分別 實(shí)現(xiàn)圖像形成設(shè)備1的功能(復(fù)印等)的應(yīng)用程序模塊。這些程序模塊被存儲(chǔ)在ROM 24(見 圖1)中。圖3是說明存儲(chǔ)在插入卡槽27中的卡中的擴(kuò)展程序的模塊配置的示例圖。如圖3 所示,數(shù)碼相機(jī)打印應(yīng)用程序被存儲(chǔ)在卡31中。當(dāng)數(shù)碼相機(jī)連接到圖像形成設(shè)備1的USB 端口 26時(shí),數(shù)碼相機(jī)打印應(yīng)用程序是使圖像形成設(shè)備1打印存儲(chǔ)在數(shù)碼相機(jī)中的圖像的應(yīng) 用程序。當(dāng)卡31插入卡槽27中時(shí),由執(zhí)行系統(tǒng)程序的CPU 21自動(dòng)執(zhí)行(啟動(dòng))數(shù)碼相機(jī)打印應(yīng)用程序。數(shù)碼相機(jī)打印應(yīng)用程序是等同于圖2所示的程序模塊配置中的應(yīng)用程序模 塊(復(fù)印應(yīng)用程序、打印機(jī)應(yīng)用程序、等等)的程序模塊。圖4A至圖4C是說明能夠連接到USB端口 26的USB裝置的示例圖。各種裝置作 為USB裝置存在。作為USB裝置的示例,圖4A說明數(shù)碼相機(jī)41,圖4B說明USB存儲(chǔ)器42, 以及圖4C說明USB鍵盤43。所有USB裝置存儲(chǔ)或者保存以USB規(guī)范定義的描述符信息。 描述符信息包括裝置制造商的標(biāo)識(shí)符“Bendor ID (idVendor) ”、稱為作為產(chǎn)品的標(biāo)識(shí)符的 “產(chǎn)品ID(idProdUCt)”數(shù)據(jù)、以及稱為指示裝置類型(功能)的“Class”、"Subclass”、以及 “Protocol”數(shù)據(jù)?;赨SB裝置特有的條件(功能等)而決定存儲(chǔ)(保存)在USB裝置中的 描述符信息?!癈lass (類)”、“Subclass (子類)”、以及“Protocol (協(xié)議)”由以USB規(guī)范定義 的標(biāo)準(zhǔn)裝置描述符 “bDeviceClass”、“bDeviceSubClass”、以及 “bDeviceProtocol” 決定, 或者由以USB規(guī)范定義的標(biāo)準(zhǔn)接口描述符“bInterfaceClass”、“bInterfaceSubClass,,、以 及“blnterfaceProtocol”決定。此外,根據(jù)USB規(guī)范定義USB主機(jī)從USB裝置獲取描述符 信息的過程。
圖5是簡(jiǎn)要說明本實(shí)施例中的程序模塊之間的合作關(guān)系的圖。USB裝置監(jiān)控單元 是監(jiān)控USB裝置附加到圖像形成設(shè)備1的USB端口 26或者從圖像形成設(shè)備1的USB端口 26拆卸的模塊,且作為圖2所示的NCS的一部分而被包括。操作面板控制單元是執(zhí)行將要顯示在操作面板4上的消息內(nèi)容的語(yǔ)義解釋以及 經(jīng)由操作面板驅(qū)動(dòng)從操作面板4輸入的模塊。操作面板控制單元作為圖2所示的OCS的一 部分而被包括。擴(kuò)展程序(擴(kuò)展軟件)啟動(dòng)單元是啟動(dòng)存儲(chǔ)在卡31中的擴(kuò)展程序(在本實(shí)施例 中的數(shù)碼相機(jī)打印應(yīng)用程序)的模塊,并作為圖2所示的SCS的一部分而被包括。掃描儀應(yīng)用程序是執(zhí)行USB存儲(chǔ)器的處理的程序模塊。數(shù)碼相機(jī)打印應(yīng)用程序是 執(zhí)行數(shù)碼相機(jī)的處理的程序模塊。圖6是簡(jiǎn)要說明在啟動(dòng)圖像形成設(shè)備1時(shí)每個(gè)程序模塊的處理序列的圖。在啟動(dòng) 系統(tǒng)程序時(shí)由CPU 21執(zhí)行(啟動(dòng))包括在系統(tǒng)程序內(nèi)的每個(gè)模塊(驅(qū)動(dòng)組、操作面板控制 單元、USB裝置監(jiān)控單元、擴(kuò)展程序啟動(dòng)單元、以及掃描儀應(yīng)用程序)。擴(kuò)展程序啟動(dòng)單元檢測(cè)存儲(chǔ)在卡31中的數(shù)碼相機(jī)打印應(yīng)用程序的存在并啟動(dòng)數(shù) 碼相機(jī)打印應(yīng)用程序(步驟Sll)。USB主機(jī)控制器驅(qū)動(dòng)執(zhí)行硬件(USB主機(jī)控制器25)所 需要的初始化(步驟S12)。掃描儀應(yīng)用程序在USB裝置監(jiān)控單元中登記可控制USB裝置的條件(步驟S13)。 根據(jù)本實(shí)施例,掃描儀應(yīng)用程序能夠控制USB存儲(chǔ)器并向USB裝置監(jiān)控單元通知(登記) 符合 USB 存儲(chǔ)器的條件(Class = 0x08, SubClass = 0x06,以及 Protocol = 0x80)。類似地,數(shù)碼相機(jī)打印應(yīng)用程序在USB裝置監(jiān)控單元中登記可控制USB裝置的條 件(步驟S14)。根據(jù)本實(shí)施例,數(shù)碼相機(jī)打印應(yīng)用程序能夠控制定義為成像裝置的數(shù)碼相 機(jī)并將符合成像裝置的條件(Class = 0x06, SubClass = 0x01,以及Protocol = 0x01)通 知USB裝置監(jiān)控單元。圖7是說明在步驟S13和S14中在USB裝置監(jiān)控單元的表中登記的登記信息的示 例圖。圖7所示的表的第一條目是包括與在步驟S13中由掃描儀應(yīng)用程序登記的USB裝置 (USB存儲(chǔ)器)相關(guān)的信息的條目。第二條目是包括與在步驟S14中由數(shù)碼相機(jī)打印應(yīng)用程序登記的USB裝置(數(shù)碼相機(jī))相關(guān)的信息的條目。再次參考圖6,USB裝置監(jiān)控單元經(jīng)由USB主機(jī)驅(qū)動(dòng)(以及USB主機(jī)控制器驅(qū)動(dòng)) 啟動(dòng)監(jiān)控USB裝置與USB端口 26的連接(步驟S 15)。以上是啟動(dòng)圖像形成設(shè)備1時(shí)每個(gè)程序模塊的處理序列的概要。接下來,將解釋 當(dāng)USB裝置連接到USB端口 26時(shí),例如,當(dāng)數(shù)碼相機(jī)41 (在本實(shí)施例中能夠使用的USB裝 置的示例)連接到USB端口 26時(shí)以及當(dāng)USB鍵盤43 (在本實(shí)施例中不能使用的USB裝置 的示例)連接到USB端口 26時(shí),每個(gè)程序模塊的處理。首先,將解釋當(dāng)數(shù)碼相機(jī)41連接到USB端口 26每個(gè)程序模塊的處理。圖8是簡(jiǎn)要說明當(dāng)數(shù)碼相機(jī)41連接到USB端口 26時(shí)每個(gè)程序模塊的處理序列的圖。USB裝置(在該示例中的數(shù)碼相機(jī)41)與USB端口 26的連接由USB主機(jī)控制器 25檢測(cè)并且通知給USB主機(jī)控制器驅(qū)動(dòng)(步驟S21)。另外,經(jīng)由USB主機(jī)驅(qū)動(dòng)將連接通 知給USB裝置監(jiān)控單元。USB主機(jī)控制器25向USB裝置發(fā)送被稱為SET_ADDRESS和GET_ DESCRIPTOR的裝置請(qǐng)求,以獲取存儲(chǔ)在USB裝置中的描述符信息(步驟S22和S23)。這些 裝置請(qǐng)求是以USB規(guī)范定義的一般標(biāo)準(zhǔn)裝置請(qǐng)求。作為對(duì)這些裝置請(qǐng)求的響應(yīng),USB裝置向USB主機(jī)控制器25發(fā)送描述符信息(在 該示例中,包括 Class = 0x06, SubClass = 0x01,以及 Protocol = 0x01),以及 USB 主機(jī)控 制器25向USB主機(jī)控制器驅(qū)動(dòng)發(fā)送描述符信息(步驟S24)。USB主機(jī)控制器驅(qū)動(dòng)向USB 主機(jī)驅(qū)動(dòng)發(fā)送描述符信息(步驟S25),以及USB主機(jī)驅(qū)動(dòng)向USB裝置監(jiān)控單元發(fā)送描述符 信息(裝置的獨(dú)有信息)(步驟S26)。圖9是簡(jiǎn)要說明當(dāng)USB裝置連接到USB端口 26時(shí)USB裝置監(jiān)控單元中的步驟S27 的處理的圖。USB裝置監(jiān)控單元等待檢測(cè)到USB裝置的連接的通知(步驟S31)。如果沒有 通知檢測(cè)到USB裝置的連接的結(jié)果(步驟S32 =No),則USB裝置監(jiān)控單元繼續(xù)等待。如果通知了檢測(cè)到USB裝置的連接的結(jié)果(步驟S32 :Yes),則USB裝置監(jiān)控單元 經(jīng)由USB主機(jī)驅(qū)動(dòng)和USB主機(jī)控制器驅(qū)動(dòng)接收USB裝置的描述符信息(步驟S33)。然后,USB裝置監(jiān)控單元比較所接收的描述符信息的Class、Subclass、以及 Protocol與表的每個(gè)條目的Class,Subclass,以及Protocol (見圖7)(步驟S34)。當(dāng)所接 收的描述符信息的Class、Subclass、以及Protocol與表的任意條目的Class、Subclass、以 及Protocol相同時(shí)(步驟S35 =Yes),USB裝置監(jiān)控單元確定能夠使用連接到USB端口 26 的USB裝置(步驟S36)。另一方面,當(dāng)所接收的描述符信息的Classjubclass、以及Protocol與表的任意 條目的Class、Subclass、以及Protocol不相同時(shí)(步驟S35 :No),USB裝置監(jiān)控單元確定 不能使用連接到USB端口 26的USB裝置(步驟S37)。在本示例中,USB裝置監(jiān)控單元接收包括作為描述符信息的Class = 0x06、 SubClass = 0x01、以及 Protocol = 0x01 的信息。描述符信息的這些 Class、Subclass、以 及Protocol與表的第二條目的Class、Subclass、以及Protocol (見圖7)相同。因此,USB 裝置監(jiān)控單元確定通過使用數(shù)碼相機(jī)打印應(yīng)用程序能夠使用連接到USB端口 26的USB裝 置(在該示例中的數(shù)碼相機(jī)41)。再次參考圖8,USB裝置監(jiān)控單元將數(shù)碼相機(jī)41連接到USB端口 26的結(jié)果通知數(shù) 碼相機(jī)打印應(yīng)用程序(步驟S28)。這樣,然后,數(shù)碼相機(jī)打印應(yīng)用程序能夠執(zhí)行對(duì)數(shù)碼相機(jī)41的控制(步驟S29)以及通過使用圖像形成設(shè)備1打印存儲(chǔ)在數(shù)碼相機(jī)41中的圖像。接下來,將解釋當(dāng)USB鍵盤43連接到USB端口 26時(shí)每個(gè)程序模塊的處理。圖10 是簡(jiǎn)要說明當(dāng)USB鍵盤43連接到USB端口 26時(shí)每個(gè)程序模塊的處理序列的圖。USB裝置(在該示例中的USB鍵盤43)與USB端口 26的連接由USB主機(jī)控制器25檢測(cè)到并且將該連接通知給USB主機(jī)控制器驅(qū)動(dòng)(步驟S41)。另外,經(jīng)由USB主機(jī)驅(qū)動(dòng) 將該連接通知給USB裝置監(jiān)控單元。為了獲取存儲(chǔ)在USB裝置中的描述符信息,USB主機(jī) 控制器25向USB裝置發(fā)送稱為SET_ADDRESS和GET_DESCRIPTOR的裝置請(qǐng)求(步驟S42和 S43)。作為對(duì)這些裝置請(qǐng)求的響應(yīng),USB裝置向USB主機(jī)控制器25發(fā)送描述符信息(在 該示例中,包括 Class = 0x03, SubClass = 0x00,以及 Protocol = 0x01),以及 USB 主機(jī)控 制器25向USB主機(jī)控制器驅(qū)動(dòng)發(fā)送描述符信息(步驟S44)。USB主機(jī)控制器驅(qū)動(dòng)向USB 主機(jī)驅(qū)動(dòng)發(fā)送描述符信息(步驟S45),以及USB主機(jī)驅(qū)動(dòng)向USB裝置監(jiān)控單元發(fā)送描述符 信息(裝置的獨(dú)有信息)(步驟S46)。再次參考圖9,USB裝置監(jiān)控單元等待通知檢測(cè)到USB裝置的連接的結(jié)果(步驟 S31)。如果沒有通知檢測(cè)到USB裝置的連接的結(jié)果(步驟S32 =No),則USB裝置監(jiān)控單元 繼續(xù)等待。如果通知了檢測(cè)到USB裝置的連接的結(jié)果(步驟S32 :Yes),則USB裝置監(jiān)控單元 經(jīng)由USB主機(jī)驅(qū)動(dòng)和USB主機(jī)控制器驅(qū)動(dòng)接收USB裝置的描述符信息(步驟S33)。然后,USB裝置監(jiān)控單元比較所接收的描述符信息的Class、Subclass、以及 Protocol與表的每個(gè)條目的Class,Subclass,以及Protocol (見圖7)(步驟S34)。當(dāng)所接 收的描述符信息的Class、Subclass、以及Protocol與表的任意條目的Class、Subclass、以 及Protocol相同時(shí)(步驟S35 =Yes),USB裝置監(jiān)控單元確定能夠使用連接到USB端口 26 的USB裝置(步驟S36)。另一方面,當(dāng)所接收的描述符信息的Classjubclass、以及Protocol與表的任意 條目的Class、Subclass、以及Protocol不相同時(shí)(步驟S35 :No),USB裝置監(jiān)控單元確定 不能使用連接到USB端口 26的USB裝置(步驟S37)。在本示例中,USB裝置監(jiān)控單元接收包括作為描述符信息的Class = 0x03、 SubClass = 0x00、以及 Protocol = 0x00 的信息。描述符信息的這些 Class、Subclass、以 及Protocol與表的任意條目的Class、Subclass、以及Protocol不相同(見圖7)。因此, 因?yàn)椴淮嬖谑褂眠B接到USB端口 26的USB裝置(在該示例中的USB鍵盤43)的應(yīng)用程序, 所以USB裝置監(jiān)控單元確定不能使用連接到USB端口 26的USB裝置。再次參考圖10,USB裝置監(jiān)控單元要求操作面板控制單元顯示不能使用連接到 USB端口 26的USB裝置(該示例中的USB鍵盤43)的結(jié)果的消息(步驟S47)。操作面板 控制單元控制操作面板驅(qū)動(dòng)以便顯示不能使用連接到USB端口 26的USB裝置的結(jié)果的消 息(步驟S48)。這樣,將不能使用連接到USB端口 26的USB裝置的結(jié)果的消息顯示在操作 面板4上。用戶能夠知道不能使用連接到USB端口 26的USB裝置。接下來,將解釋當(dāng)卡31插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26時(shí) 每個(gè)程序模塊的處理,以及當(dāng)卡31沒有插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26時(shí)每個(gè)程序模塊的處理。
首先,將解釋當(dāng)卡31插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26時(shí)每 個(gè)程序模塊的處理。 圖11是簡(jiǎn)要說明當(dāng)卡31插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26時(shí) 每個(gè)程序模塊的處理序列的圖。圖11是結(jié)合上述圖6和圖8所獲得的圖。內(nèi)容與圖6和 圖8中解釋的相同。接下來,將解釋當(dāng)卡31沒有插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26 時(shí)每個(gè)程序模塊的處理。圖12是簡(jiǎn)要說明當(dāng)卡31沒有插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26時(shí)每個(gè)程序模塊的處理序列的圖。當(dāng)卡31沒有插入到卡槽27中時(shí),不執(zhí)行(啟動(dòng))數(shù) 碼相機(jī)打印應(yīng)用程序。參考圖12,USB主機(jī)控制器驅(qū)動(dòng)執(zhí)行硬件(USB主機(jī)控制器25)所需要的初始化處 理(步驟S12)。掃描儀應(yīng)用程序在USB裝置監(jiān)控單元中登記可控制USB裝置的條件(步驟 S13)。在本實(shí)施例中,掃描儀應(yīng)用程序向USB裝置監(jiān)控單元通知(登記)符合USB存儲(chǔ)器 的條件(Class = 0x08,SubClass = 0x06,以及 Protocol = 0x80)。USB裝置監(jiān)控單元經(jīng)由USB主機(jī)驅(qū)動(dòng)(以及USB主機(jī)控制器驅(qū)動(dòng))啟動(dòng)監(jiān)控USB 裝置與USB端口 26的連接(步驟S15)。USB裝置(在該示例中的數(shù)碼相機(jī)41)與USB端口 26的連接由USB主機(jī)控制器 25檢測(cè)并且被通知給USB主機(jī)控制器驅(qū)動(dòng)(步驟S21)。另外,經(jīng)由USB主機(jī)驅(qū)動(dòng)將連接通 知給USB裝置監(jiān)控單元。為了獲取存儲(chǔ)在USB裝置中的描述符信息,USB主機(jī)控制器25向 USB裝置發(fā)送稱為SET_ADDRESS和GET_DESCRIPTOR的裝置請(qǐng)求(步驟S22和S23)。作為對(duì)這些裝置請(qǐng)求的響應(yīng),USB裝置向USB主機(jī)控制器25發(fā)送描述符信息(在 該示例中,包括 Class = 0x06, SubClass = 0x01,以及 Protocol = 0x01),以及 USB 主機(jī)控 制器25向USB主機(jī)控制器驅(qū)動(dòng)發(fā)送描述符信息(步驟S24)。USB主機(jī)控制器驅(qū)動(dòng)向USB 主機(jī)驅(qū)動(dòng)發(fā)送描述符信息(步驟S25),以及USB主機(jī)驅(qū)動(dòng)向USB裝置監(jiān)控單元發(fā)送描述符 信息(裝置的獨(dú)有信息)(步驟S26)。USB裝置監(jiān)控單元執(zhí)行以上已經(jīng)解釋的圖9所示的處理(步驟S27),并確定不能 使用連接到USB端口 26的USB裝置(在該示例中的數(shù)碼相機(jī)41)。然后,USB裝置監(jiān)控單元要求操作面板控制單元顯示不能使用連接到USB端口 26 的USB裝置(該示例中的數(shù)碼相機(jī)41)的結(jié)果的消息(步驟S47)。操作面板控制單元控制 操作面板驅(qū)動(dòng)以便顯示不能使用連接到USB端口 26的USB裝置的結(jié)果的消息(步驟S48)。 這樣,不能使用連接到USB端口 26的USB裝置的結(jié)果的消息顯示在操作面板4上。用戶能 夠知道不能使用連接到USB端口 26的USB裝置。如上所述,根據(jù)本實(shí)施例,即使能夠容易地附加或者拆卸記錄擴(kuò)展程序(在本實(shí) 施例中的數(shù)碼相機(jī)打印應(yīng)用程序)的卡31,也能夠容易地執(zhí)行是否能夠使用由通用接口 (在本實(shí)施例中的USB)連接的外部擴(kuò)展裝置(在本實(shí)施例中的USB裝置)的確定,并能夠 實(shí)現(xiàn)滿足裝置的可擴(kuò)展性和可用性的圖像形成設(shè)備。根據(jù)本實(shí)施例,根據(jù)卡31的存在或者不存在而不重寫或者添加系統(tǒng)程序(系統(tǒng)軟 件),能夠動(dòng)態(tài)地執(zhí)行是否使用USB裝置的確定。在本實(shí)施例中,掃描儀應(yīng)用程序和數(shù)碼相機(jī)打印應(yīng)用程序在USB裝置監(jiān)控單元的表(見圖7)中登記Class、Subclass、以及Protocol,且USB裝置監(jiān)控單元比較從USB裝 置獲取的描述符信息的Class、Subclass、以及Protocol與表中登記的Class、Subclass、 以及Protocol。然而,也能夠使用不同的信息來代替Class、Subclass、以及Protocol。 如上所述,作為USB裝置的制造商標(biāo)識(shí)符的Vendor ID(廠商ID) (idVendor)和作為USB 裝置的產(chǎn)品標(biāo)識(shí)符的product ID(產(chǎn)品ID) (idProduct)被包括在USB的標(biāo)準(zhǔn)裝置描述 符中。因此,掃描儀應(yīng)用程序和數(shù)碼相機(jī)打印應(yīng)用程序能夠在USB裝置監(jiān)控單元的表中 登記 Vendor ID (idVendor)和 product ID (idProduct)。圖 13 是說明其中登記 vendor ID (idVendor)禾口 product ID (idProduct)代替 Class、Subclass、以及 Protocol 的表的 示例圖。在這種情況下,USB裝置監(jiān)控單元比較從USB裝置獲取的描述符信息的Vendor ID (idVendor)和 product ID (idProduct)與在表中登記的 Vendor ID (idVendor)和 product ID(idProduct)ο結(jié)果,即使能夠容易地附加或者拆卸記錄擴(kuò)展程序的卡31,也能夠容易地執(zhí)行是否能夠使用由USB (通用串行總線)連接的外部擴(kuò)展裝置(USB裝置)的確定,且能夠?qū)崿F(xiàn) 滿足裝置的可擴(kuò)展性和可用性的圖像形成設(shè)備。在本實(shí)施例中,USB (通用串行總線)用作連接外部裝置的通用接口。然而,在本發(fā) 明中,用于連接外部裝置的接口并不限于USB。USB裝置把持以USB規(guī)范確定的描述符信息。 在本實(shí)施例中,描述符信息的一部分(或者全部)用作外部裝置特有的功能信息。PCI(外 圍部件互連)作為類似于USB的接口的示例給出。PCI裝置將與裝置類型相關(guān)的信息保存 在以PCI規(guī)范確定的寄存器空間上。類似于上述USB裝置,通過使用作為外部裝置(PCI裝 置)特有的功能信息的登記信息,也能夠控制經(jīng)由PCI總線連接的PCI裝置。以下將解釋本發(fā)明的第二實(shí)施例。因?yàn)楦鶕?jù)本實(shí)施例的圖像形成設(shè)備的塊配置和 程序模塊配置類似于根據(jù)上述第一實(shí)施例的圖像形成設(shè)備1的塊配置(見圖1)和程序模 塊配置(見圖2、3、以及5),所以省略對(duì)它們的描述。圖14是簡(jiǎn)要說明當(dāng)卡31插入到卡槽27中以及數(shù)碼相機(jī)41連接到USB端口 26 時(shí)每個(gè)程序模塊的處理序列的圖。參考圖14,在啟動(dòng)系統(tǒng)程序時(shí),由CPU 21執(zhí)行(啟動(dòng))包括在系統(tǒng)程序內(nèi)的每個(gè) 模塊(驅(qū)動(dòng)、USB裝置監(jiān)控單元、擴(kuò)展程序啟動(dòng)單元、掃描儀應(yīng)用程序、等等)。USB主機(jī)控制器驅(qū)動(dòng)執(zhí)行硬件(USB主機(jī)控制器25)所需要的初始化處理(步驟 S12)。掃描儀應(yīng)用程序在USB裝置監(jiān)控單元中登記可控制USB裝置的條件(步驟S13)。 在本實(shí)施例中,掃描儀應(yīng)用程序是能夠控制USB存儲(chǔ)器并且向USB裝置監(jiān)控單元通知(登 記)符合 USB 存儲(chǔ)器的條件(Class = 0x08, SubClass = 0x06,以及 Protocol = 0x80)的 程序。USB裝置監(jiān)控單元經(jīng)由USB主機(jī)驅(qū)動(dòng)(以及USB主機(jī)控制器驅(qū)動(dòng))啟動(dòng)監(jiān)控USB 裝置與USB端口 26的連接(步驟S15)。USB裝置(在該示例中的數(shù)碼相機(jī)41)與USB端口 26的連接由USB主機(jī)控制器 25檢測(cè)并且被通知給USB主機(jī)控制器驅(qū)動(dòng)(步驟S21)。另外,經(jīng)由USB主機(jī)驅(qū)動(dòng)將該連接 通知給USB裝置監(jiān)控單元。為了獲取存儲(chǔ)在USB裝置中的描述符信息,USB主機(jī)控制器25 向USB裝置發(fā)送稱為SET_ADDRESS和(iET_DESCRIPTOR的裝置請(qǐng)求(步驟S22和S23)。
作為對(duì)這些裝置請(qǐng)求的響應(yīng),USB裝置向USB主機(jī)控制器25發(fā)送描述符信息(在 該示例中,包括 Class = 0x06, SubClass = 0x01,以及 Protocol = 0x01),且 USB 主機(jī)控制 器25向USB主機(jī)控制器驅(qū)動(dòng)發(fā)送描述符信息(步驟S24)。USB主機(jī)控制器驅(qū)動(dòng)向USB主 機(jī)驅(qū)動(dòng)發(fā)送描述符信息(步驟S25),且USB主機(jī)驅(qū)動(dòng)向USB裝置監(jiān)控單元發(fā)送描述符信息 (裝置的獨(dú)有信息)(步驟S26)。USB裝置監(jiān)控單元接收包括作為描述符信息的Class = 0x06、SubClass = 0x01、 以及Protocol = 0x01的信息(步驟S27)。然而,在這一點(diǎn)上,能夠由數(shù)碼相機(jī)打印應(yīng)用程 序控制的USB裝置(數(shù)碼相機(jī)41)的條件沒有在USB裝置監(jiān)控單元中登記。因此,USB裝 置監(jiān)控單元不會(huì)立即確定不能使用連接到USB端口 26的USB裝置(在該示例中的數(shù)碼相 機(jī)41),而是等待預(yù)定時(shí)間(例如,一分鐘)。然后,當(dāng)存儲(chǔ)在卡31中的數(shù)碼相機(jī)打印應(yīng)用程序由擴(kuò)展程序啟動(dòng)單 元啟動(dòng)時(shí)(步 驟Sll),數(shù)碼相機(jī)打印應(yīng)用程序在USB裝置監(jiān)控單元中登記可控制USB裝置的條件(步驟 S14)。在本實(shí)施例中,數(shù)碼相機(jī)打印應(yīng)用程序是能夠控制定義為成像裝置的數(shù)碼相機(jī)、并向 USB裝置監(jiān)控單元通知(登記)符合成像裝置的條件(Class = 0x06,SubClass = 0x01、以 及 Protocol = 0x01)的程序。USB裝置監(jiān)控單元從USB主機(jī)驅(qū)動(dòng)接收包括作為描述符信息的Class = 0x06、 SubClass = 0x01、以及Protocol = 0x01的信息(步驟S26)。這些描述符信息的Class、 Subclass、以及Protocol與數(shù)碼相機(jī)打印應(yīng)用程序登記的Class、Subclass、以及Protocol 相同。因此,USB裝置監(jiān)控單元確定能夠由數(shù)碼相機(jī)打印應(yīng)用程序使用連接到USB端口 26 的USB裝置(在該示例中的數(shù)碼相機(jī)41),以及將數(shù)碼相機(jī)41連接到USB端口 26的結(jié)果通 知給數(shù)碼相機(jī)打印應(yīng)用程序(步驟S28)。如上所述,根據(jù)本實(shí)施例,在數(shù)碼相機(jī)打印應(yīng)用程序登記可控制的數(shù)碼相機(jī)41的 條件之前,即使接收到連接了數(shù)碼相機(jī)41的結(jié)果的通知和數(shù)碼相機(jī)41的描述符信息,圖像 形成設(shè)備也不會(huì)立即將不能使用數(shù)碼相機(jī)41的結(jié)果通知給用戶,而是等待預(yù)定時(shí)間。然 后,當(dāng)由數(shù)碼相機(jī)打印應(yīng)用程序登記可控制的數(shù)碼相機(jī)41的條件時(shí),圖像形成設(shè)備將連接 了數(shù)碼相機(jī)41的結(jié)果通知給數(shù)碼相機(jī)打印應(yīng)用程序。因此,在啟動(dòng)裝置(初始化處理)時(shí), 有可能防止不正確的通知(不能使用數(shù)碼相機(jī)41的結(jié)果的通知)并排除用戶誤解的可能。以下將解釋本發(fā)明的第三實(shí)施例。因?yàn)楦鶕?jù)本實(shí)施例的圖像形成設(shè)備的塊配置類 似于根據(jù)上述第一實(shí)施例的圖像形成設(shè)備1的塊配置(見圖1),所以省略它們的描述。圖15是簡(jiǎn)要說明根據(jù)第三實(shí)施例的程序模塊之間的合作關(guān)系的圖。在第三實(shí)施 例中,與上述第一實(shí)施例(見圖5)相比,添加了擴(kuò)展程序(擴(kuò)展軟件)初始化檢查單元。擴(kuò) 展程序(擴(kuò)展軟件)初始化檢查單元被實(shí)現(xiàn)為作為圖2所示的SCS的一部分而被包括。擴(kuò)展程序初始化檢查單元檢查諸如卡槽27(見圖1)之類的所有外部記錄介質(zhì)連 接槽。當(dāng)完成所有擴(kuò)展程序的初始化處理時(shí),擴(kuò)展程序初始化檢查單元將完成所有擴(kuò)展程 序的初始化處理的結(jié)果通知給USB裝置監(jiān)控單元。圖16是簡(jiǎn)要說明本實(shí)施例中的每個(gè)起動(dòng)程序模塊的處理序列的圖。在這種情況 下,用作USB裝置的USB鍵盤43連接到USB端口 26(見圖1)。如圖16所示,當(dāng)擴(kuò)展程序啟動(dòng)單元啟動(dòng)擴(kuò)展程序(數(shù)碼相機(jī)打印應(yīng)用程序)時(shí) (步驟Sl 1),擴(kuò)展程序在USB裝置監(jiān)控單元中登記可用USB裝置的條件(在該示例中,Class=0x06、SubClass = 0x01、以及Protocol = 0x01),作為啟動(dòng)時(shí)初始化處理的一部分(步 驟S14)。另外,當(dāng)完成初始化處理時(shí),擴(kuò)展程序?qū)⑼瓿沙跏蓟幚淼慕Y(jié)果通知擴(kuò)展程序初始 化檢查單元(步驟S51)。當(dāng)確認(rèn)完成所有外部槽的所有擴(kuò)展程序的初始化處理時(shí),擴(kuò)展程 序初始化檢查單元將完成所有擴(kuò)展程序的初始化處理的結(jié)果通知USB裝置監(jiān)控單元(步驟 S52)。當(dāng)USB裝置監(jiān)控單元從擴(kuò)展程序初始化檢查單元中接收到完成所有擴(kuò)展程序的初始化處理的結(jié)果的通知時(shí),當(dāng)確定不能使用USB裝置(在該示例中的USB鍵盤43)時(shí),USB 裝置監(jiān)控單元使得操作面板控制單元顯示指示結(jié)果的消息(見圖15)。因此,由操作面板4 將不能使用USB鍵盤43的結(jié)果通知給用戶。另一方面,當(dāng)USB裝置監(jiān)控單元從擴(kuò)展程序初始化檢查單元中接收到完成所有擴(kuò) 展程序的初始化處理的結(jié)果的通知時(shí),當(dāng)確定能夠使用USB裝置時(shí),USB裝置監(jiān)控單元將連 接了 USB裝置的結(jié)果通知能夠使用USB裝置的應(yīng)用程序。因此,應(yīng)用程序能夠使用USB裝置。在上述第二實(shí)施例中,USB裝置監(jiān)控單元等待預(yù)定時(shí)間(例如,一分鐘)。因此,根 據(jù)第二實(shí)施例,即使在預(yù)定時(shí)間內(nèi)完成了所有擴(kuò)展程序的初始化處理,USB裝置監(jiān)控單元也 會(huì)等待預(yù)定時(shí)間。另一方面,根據(jù)本實(shí)施例,當(dāng)USB裝置監(jiān)控單元接收到完成所有擴(kuò)展程序的初始 化處理的結(jié)果的通知時(shí),當(dāng)確定不能使用USB裝置時(shí),USB裝置監(jiān)控單元請(qǐng)求顯示用于通知 用戶結(jié)果的消息。當(dāng)確定能夠使用USB裝置時(shí),USB裝置監(jiān)控單元將連接了 USB裝置的結(jié) 果通知能夠使用USB裝置的應(yīng)用程序。因此,能夠省略不必要的等待時(shí)間。當(dāng)需要的最小 時(shí)間段結(jié)束時(shí)(當(dāng)完成所有擴(kuò)展程序的初始化處理時(shí)),能夠?qū)⒉荒苁褂肬SB裝置的結(jié)果通 知給用戶或者能夠?qū)SB裝置的連接通知給應(yīng)用程序。因此,有可能提高系統(tǒng)響應(yīng)性。另外,在ROM 24中預(yù)先并入以及提供在根據(jù)本發(fā)明的實(shí)施例的圖像形成設(shè)備中 執(zhí)行的程序控制程序。在根據(jù)本發(fā)明的實(shí)施例的圖像形成設(shè)備中執(zhí)行的程序控制程序能夠被配置為在 諸如以能夠安裝或者執(zhí)行的文件格式的CD-ROM、FD (軟盤)、CD-R、或者DVD (數(shù)字多用途 盤)的計(jì)算機(jī)可讀記錄介質(zhì)中記錄并且提供。另外,在根據(jù)本發(fā)明實(shí)施例的圖像形成設(shè)備中執(zhí)行的程序控制程序能夠被存儲(chǔ)在 連接到諸如因特網(wǎng)之類的網(wǎng)絡(luò)的計(jì)算機(jī)中,以及通過經(jīng)由網(wǎng)絡(luò)下載來提供。此外,在根據(jù)本 發(fā)明實(shí)施例的圖像形成設(shè)備中執(zhí)行的程序控制程序能夠通過諸如因特網(wǎng)之類的網(wǎng)絡(luò)來提 供或者分發(fā)。在根據(jù)本發(fā)明實(shí)施例的圖像形成設(shè)備中執(zhí)行的程序控制程序具有包括以上部件 (0S (包括驅(qū)動(dòng)組)、服務(wù)組(包括USB裝置監(jiān)控單元、操作面板控制單元、擴(kuò)展程序啟動(dòng)單 元、以及擴(kuò)展程序初始化檢查單元)、打印機(jī)應(yīng)用程序、掃描儀應(yīng)用程序、復(fù)印應(yīng)用程序、以 及傳真應(yīng)用程序)的模塊配置。作為實(shí)際的硬件,CPU(處理器)從ROM中讀出以及執(zhí)行程 序控制程序,因而部件被加載在主存儲(chǔ)器上。因此,在主存儲(chǔ)器上生成OS (包括驅(qū)動(dòng)組)、服 務(wù)組(包括USB裝置監(jiān)控單元、操作面板控制單元、擴(kuò)展程序啟動(dòng)單元、以及擴(kuò)展程序初始 化檢查單元)、打印機(jī)應(yīng)用程序、掃描儀應(yīng)用程序、復(fù)印應(yīng)用程序、以及傳真應(yīng)用程序。在本發(fā)明的實(shí)施例中,已經(jīng)解釋了將本發(fā)明的圖像形成設(shè)備應(yīng)用于至少具有復(fù)印功能、打印機(jī)功能、掃描儀功能、以及傳真功能中的兩個(gè)功能的多功能產(chǎn)品的示例。然而,圖像形成設(shè)備能夠應(yīng)用于復(fù)印機(jī)、打印機(jī)、掃描儀、以及傳真機(jī)中的任意。如上所述,根據(jù)本發(fā)明的一個(gè)方面,即使難以重寫或者添加系統(tǒng)程序,也能夠動(dòng)態(tài)地確定是否能夠使用外部裝置。雖然通過有關(guān)具體實(shí)施例對(duì)本發(fā)明作出了完整而清晰的描述,但是所附的權(quán)利要求并不限于此,對(duì)于本領(lǐng)域技術(shù)人員來說,將所述的權(quán)利要求解釋為具體體現(xiàn)落入在此提 出的基本教導(dǎo)之內(nèi)的所有修改和替換。
權(quán)利要求
一種信息處理設(shè)備,包括外部記錄介質(zhì)連接單元,被配置為連接外部記錄介質(zhì);外部裝置連接單元,被配置為以預(yù)定接口連接多個(gè)類型的外部裝置;程序啟動(dòng)單元,啟動(dòng)存儲(chǔ)在連接到所述外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中的程序;外部裝置連接檢測(cè)單元,檢測(cè)外部裝置與所述外部裝置連接單元的連接;第一信息獲取單元,當(dāng)所述外部裝置連接檢測(cè)單元檢測(cè)到所述外部裝置與所述外部裝置連接單元的連接時(shí),獲取與連接到所述外部裝置連接單元的所述外部裝置相關(guān)的第一信息;第二信息獲取單元,通過執(zhí)行所述程序來獲取與能夠使用的外部裝置相關(guān)的第二信息;確定單元,通過比較所述第一信息和所述第二信息來確定是否能夠使用連接到所述外部裝置連接單元的所述外部裝置;控制單元,當(dāng)所述確定單元確定能夠使用連接到所述外部裝置連接單元的所述外部裝置時(shí),控制連接到所述外部裝置連接單元的所述外部裝置;以及通知單元,當(dāng)所述確定單元確定不能使用連接到所述外部裝置連接單元的所述外部裝置時(shí),通知用戶不能使用所述外部裝置。
2.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中 所述預(yù)定接口是通用串行總線,以及所述第一信息和所述第二信息是以通用串行總線規(guī)范定義的描述符信息的一部分或 者全部。
3.一種用于信息處理設(shè)備的程序控制方法,所述信息處理設(shè)備包括被配置為連接外部 記錄介質(zhì)的外部記錄介質(zhì)連接單元以及被配置為以預(yù)定接口連接到多個(gè)類型的外部裝置 的外部裝置連接單元,所述程序控制方法包括啟動(dòng)在連接到所述外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中記錄的程序; 檢測(cè)外部裝置與所述外部裝置連接單元的連接;第一獲取步驟,包括在該檢測(cè)步驟時(shí)檢測(cè)到所述外部裝置與所述外部裝置連接單元的 連接時(shí),獲取與連接到所述外部裝置連接單元的所述外部裝置相關(guān)的第一信息;第二獲取步驟,包括通過執(zhí)行所述程序來獲取與能夠使用的外部裝置相關(guān)的第二信息;通過比較所述第一信息與所述第二信息,確定是否能夠使用連接到所述外部裝置連接 單元的所述外部裝置;當(dāng)確定能夠使用連接到所述外部裝置連接單元的所述外部裝置時(shí),控制連接到所述外 部裝置連接單元的所述外部裝置;以及第一通知步驟,包括當(dāng)確定不能使用連接到所述外部裝置連接單元的所述外部裝置 時(shí),通知用戶不能使用所述外部裝置。
4.根據(jù)權(quán)利要求3所述的程序控制方法,其中 所述預(yù)定接口是通用串行總線,以及所述第一信息和所述第二信息是以通用串行總線規(guī)范定義的描述符信息的一部分或者全部。
5.根據(jù)權(quán)利要求3所述的程序控制方法,其中,所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息且在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待預(yù)定時(shí)間,當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟獲取到所述第二信息時(shí),通過比較所述第 一信息和所述第二信息,來確定是否能夠使用連接到所述外部裝置連接單元的所述外部裝 置,以及當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟沒有獲取到所述第二信息時(shí),確定不能使用 所述外部裝置。
6.根據(jù)權(quán)利要求4所述的程序控制方法,其中,所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息且在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待預(yù)定時(shí)間,當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟獲取到所述第二信息時(shí),通過比較所述第一 信息和所述第二信息,確定是否能夠使用連接到所述外部裝置連接單元的所述外部裝置, 以及當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟沒有獲取到所述第二信息時(shí),確定不能使用 所述外部裝置。
7.根據(jù)權(quán)利要求3所述的程序控制方法,還包括第二通知步驟,包括當(dāng)完成在啟動(dòng)時(shí) 啟動(dòng)的所述程序的初始化時(shí),將所述程序的初始化的完成通知給所述確定步驟,其中所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息以及在所述第二獲取步驟沒有獲取到所 述第二信息時(shí),等待來自所述第二通知步驟的通知,當(dāng)直到接收到來自所述第二通知步驟的通知為止在所述第二獲取步驟獲取到所述第 二信息時(shí),通過比較所述第一信息和所述第二信息,來確定是否能夠使用連接到所述外部 裝置連接單元的所述外部裝置,以及在接收到來自所述第二通知步驟的通知時(shí)沒有在所述第二獲取步驟獲取到所述第二 信息時(shí),確定不能使用所述外部裝置。
8.根據(jù)權(quán)利要求4所述的程序控制方法,還包括第二通知步驟,包括當(dāng)完成在啟動(dòng)時(shí) 啟動(dòng)的程序的初始化時(shí),將所述程序的初始化的完成通知給所述確定步驟,其中所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息而在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待來自所述第二通知步驟的通知,當(dāng)直到接收到來自所述第二通知步驟的通知為止在所述第二獲取步驟獲取到所述第 二信息時(shí),通過比較所述第一信息和所述第二信息,確定是否能夠使用連接到所述外部裝 置連接單元的所述外部裝置,以及在接收到來自所述第二通知步驟的通知時(shí)沒有在所述第二獲取步驟獲取到所述第二 信息時(shí),確定不能使用所述外部裝置。
9.一種包括具有具體表現(xiàn)為介質(zhì)的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī) 程序產(chǎn)品,用于實(shí)現(xiàn)包括被配置為連接外部記錄介質(zhì)的外部記錄介質(zhì)連接單元以及被配置為以預(yù)定接口連接多個(gè)類型的外部裝置的外部裝置連接單元的信息處理設(shè)備的程序控制 方法,當(dāng)執(zhí)行時(shí),所述程序代碼使得計(jì)算機(jī)執(zhí)行啟動(dòng)在連接到所述外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中記錄的程序; 檢測(cè)外部裝置與所述外部裝置連接單元的連接;第一獲取步驟,包括在檢測(cè)步驟當(dāng)檢測(cè)到所述外部裝置與所述外部裝置連接單元的連 接時(shí),獲取與連接到所述外部裝置連接單元的所述外部裝置相關(guān)的第一信息;第二獲取步驟,包括通過執(zhí)行所述程序獲取與能夠使用的外部裝置相關(guān)的第二信息; 通過比較所述第一信息與所述第二信息,確定是否能夠使用連接到所述外部裝置連接 單元的所述外部裝置;當(dāng)確定能夠使用連接到所述外部裝置連接單元的所述外部裝置時(shí),控制連接到所述外 部裝置連接單元的所述外部裝置;以及第一通知步驟,包括當(dāng)確定不能使用連接到所述外部裝置連接單元的所述外部裝置 時(shí),通知用戶不能使用所述外部裝置。
10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中 所述預(yù)定接口是通用串行總線,以及所述第一信息和所述第二信息是以通用串行總線規(guī)范定義的描述符信息的一部分或 者全部。
11.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息且在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待預(yù)定時(shí)間,當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟獲取到所述第二信息時(shí),通過比較所述第一 信息和所述第二信息,確定是否能夠使用連接到所述外部裝置連接單元的外部裝置,以及當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟沒有獲取到所述第二信息時(shí),確定不能使用 所述外部裝置。
12.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息且在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待預(yù)定時(shí)間,當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟獲取到所述第二信息時(shí),通過比較所述第一 信息和所述第二信息,確定是否能夠使用連接到所述外部裝置連接單元的外部裝置,以及當(dāng)在所述預(yù)定時(shí)間內(nèi)在所述第二獲取步驟沒有獲取到所述第二信息時(shí),確定不能使用 所述外部裝置。
13.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述程序代碼還使得計(jì)算機(jī)執(zhí)行第 二通知步驟,包括當(dāng)完成在啟動(dòng)時(shí)啟動(dòng)的程序的初始化時(shí),將所述程序的初始化的完成通 知給所述確定步驟,其中所述確定步驟包括當(dāng)在所述第一獲取步驟獲取到所述第一信息且在所述第二獲取步驟沒有獲取到所述 第二信息時(shí),等待來自所述第二通知步驟的通知,當(dāng)直到接收到來自所述第二通知步驟的通知為止在所述第二獲取步驟獲取到所述第 二信息時(shí),通過比較所述第一信息和所述第二信息,確定是否能夠使用連接到所述外部裝置連接單元的外部裝置,以及在接收到來自所述第二通知步驟的通知時(shí)在所述第二獲取步驟沒有獲取到所述第二 信息時(shí),確定不能使用所述外部裝置。
14.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述程序代碼還使得計(jì)算機(jī)執(zhí)行 第二通知步驟,包括當(dāng)完成在啟動(dòng)時(shí)啟動(dòng)的程序的初始化時(shí),將所述程序的初始化的完成 通知給所述確定步驟,其中 所述確定步驟包括當(dāng)在該第一獲取步驟時(shí)獲取到該第一信息以及在該第二獲取步驟時(shí)沒有獲取到該第 二信息時(shí),等待來自該第二通知步驟的通知,當(dāng)直到接收到來自所述第二通知步驟的通知為止在所述第二獲取步驟獲取到所述第 二信息時(shí),通過比較所述第一信息和所述第二信息,確定是否能夠使用連接到所述外部裝 置連接單元的外部裝置,以及在接收到來自所述第二通知步驟的通知時(shí)在所述第二獲取步驟沒有獲取到所述第二 信息時(shí),確定不能使用所述外部裝置。
全文摘要
公開了信息處理設(shè)備、程序控制方法及計(jì)算機(jī)程序產(chǎn)品。程序啟動(dòng)單元啟動(dòng)存儲(chǔ)在連接到外部記錄介質(zhì)連接單元的外部記錄介質(zhì)中的程序。外部裝置連接檢測(cè)單元檢測(cè)外部裝置與外部裝置連接單元的連接。第一信息獲取單元獲取與連接到外部裝置連接單元的外部裝置相關(guān)的第一信息。第二信息獲取單元通過執(zhí)行程序獲取與能夠使用的外部裝置相關(guān)的第二信息。確定單元通過比較第一信息和第二信息,確定是否能夠使用外部裝置。當(dāng)確定能夠使用外部裝置時(shí),控制單元控制外部裝置。另一方面,當(dāng)確定不能使用外部裝置時(shí),通知單元通知用戶不能使用外部裝置。
文檔編號(hào)G06F13/10GK101799792SQ20101011763
公開日2010年8月11日 申請(qǐng)日期2010年2月10日 優(yōu)先權(quán)日2009年2月10日
發(fā)明者濱崎考成 申請(qǐng)人:株式會(huì)社理光