亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

包含檢測usb主機(jī)操作系統(tǒng)類型的usb裝置枚舉方法

文檔序號:6359297閱讀:274來源:國知局
專利名稱:包含檢測usb主機(jī)操作系統(tǒng)類型的usb裝置枚舉方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于通用串行總線(Universal Serial BUS,以下簡稱為USB)裝置枚舉(enumeration),特別是有關(guān)于USB裝置首先檢測USB主機(jī)上操作系統(tǒng)的類型(OperatingSystem, OS),接著使用特定于所檢測的操作系統(tǒng)類型的處理來執(zhí)行USB裝置枚挙。
背景技術(shù)
USB裝置枚舉是當(dāng)裝置與主機(jī)相耦接吋,由USB裝置和USB主機(jī)所執(zhí)行的處理。當(dāng)、USB裝置與主機(jī)解耦再重新耦接時(shí),或者當(dāng)主機(jī)重啟等情況時(shí),重復(fù)進(jìn)行裝置枚舉處理。裝置枚舉處理期間,USB主機(jī)從USB裝置收集裝置類型與特性信息,并且分配給USB裝置ー個(gè)地址。隨著越來越多的裝置被設(shè)計(jì)為USB兼容裝置(例如,人機(jī)接口裝置(humaninterface device)、海量存儲裝置(mass storage devices)、音頻裝置、視頻裝置、通信裝置、打印機(jī)、以及各種其他種類的USB裝置),USB主機(jī)經(jīng)常具有對應(yīng)各種類型USB裝置的各種功能。例如,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)程序接ロ規(guī)范(Remote Network Driver InterfaceSpecification,以下簡稱為RNDIS)是ー種USB網(wǎng)絡(luò)接口裝置,在Windows XP及后期的Windows 操作系統(tǒng)上得到支持;網(wǎng)絡(luò)分享裝置(Internet Sharing Device,以下簡稱為ISD)是ー種RNDIS,在Windows Vista 及后期的Windows 操作系統(tǒng)上得到支持;通信裝置等級/以太網(wǎng)控制模型(CDC/ECM (Ethernet Control Model),以下簡稱為CDC/ECM)是ー種USB網(wǎng)絡(luò)接口裝置,由MAC OS及Linux 支持。同時(shí),因?yàn)樵S多計(jì)算機(jī)平臺支持USB,業(yè)界希望任何給定的USB裝置都能耦接并且為不同的計(jì)算機(jī)平臺所使用。但是,不同的操作系統(tǒng)通常支持不同的USB裝置類型,并且基于裝置所耦接的主機(jī)類型,所需的裝置枚舉處理可能不同。對于給定的USB裝置,使用單一枚舉流程或枚舉序列通常難以滿足所有操作系統(tǒng)。

發(fā)明內(nèi)容
如上所述,基于裝置所耦接的USB主機(jī)類型,USB裝置枚舉處理可能不同。由此,本發(fā)明ー實(shí)施方式提供ー種方法,其中USB裝置執(zhí)行對應(yīng)不同操作系統(tǒng)類型的枚舉處理,并且當(dāng)USB裝置耦接于USB主機(jī)時(shí),在開始實(shí)際的枚舉處理之前,USB裝置首先識別USB主機(jī)的操作系統(tǒng)類型。接著,USB裝置依據(jù)識別出的操作系統(tǒng)類型執(zhí)行適當(dāng)?shù)拿杜e步驟。進(jìn)一步地,USB主機(jī)的基本輸入輸出系統(tǒng)(Basic Input Output System,以下簡稱為BIOS)表現(xiàn)可能改變USB裝置執(zhí)行的操作系統(tǒng)-類型檢測流程。由此,依本發(fā)明另ー實(shí)施方式,當(dāng)USB裝置耦接于USB主機(jī)吋,USB裝置檢測主機(jī)是否處于BIOS階段,假如是,則USB裝置改變其表現(xiàn)以防止在BIOS階段發(fā)生操作系統(tǒng)-檢測流程。特別的,特定的供應(yīng)商標(biāo)識(ID )用于完成這ー目標(biāo)。此外,依本發(fā)明另ー實(shí)施方式,裝置枚舉流程由系統(tǒng)供應(yīng)商配置,因此USB裝置能夠適應(yīng)不同應(yīng)用。相應(yīng)地,本發(fā)明提供ー種USB裝置枚舉方法,其實(shí)質(zhì)上避免了因?yàn)橄嚓P(guān)領(lǐng)域的限制與缺點(diǎn)所引起的至少ー個(gè)問題。本發(fā)明的一目的在于提供USB枚舉方法,允許USB裝置可靠地執(zhí)行針對不同主機(jī)操作系統(tǒng)類型的裝置枚挙。本發(fā)明的另ー目的在于提供USB枚舉方法,減少BIOS階段不想要的影響。本發(fā)明的又一目的在于提供可由客戶配置的USB枚舉,能夠靈活地處理不同的主機(jī)操作系統(tǒng)類型。
本發(fā)明的其他特性與優(yōu)勢將由具體實(shí)施方式
給出,或者可以從本發(fā)明輕易地得知,或者從依本發(fā)明的實(shí)踐中得出。本發(fā)明的目的與其他優(yōu)勢將由實(shí)施方式、權(quán)利要求以及附圖特別指出的架構(gòu)實(shí)現(xiàn)和得到。為達(dá)到上述優(yōu)勢,并且依本發(fā)明的精神所涵蓋和描述的,本發(fā)明提供ー種在USB裝置中執(zhí)行的USB裝置枚舉方法,包含(a)判斷耦接于USB裝置的USB主機(jī)的操作系統(tǒng)類型;以及(b)基于所判斷的USB主機(jī)的操作系統(tǒng)類型從儲存在USB裝置中的多個(gè)USB裝置枚舉處理中選擇ー個(gè)USB裝置枚舉處理來執(zhí)行USB裝置枚挙。步驟(a)包含(al)將USB裝置作為USB主機(jī)普遍支持的USB裝置;(a2)從自USB主機(jī)接收的消息收集主機(jī)操作系統(tǒng)表現(xiàn)因子;以及(a3)基于所收集的主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷USB主機(jī)操作系統(tǒng)類型。較佳地,普遍支持的USB裝置是USB海量存儲裝置或者USB人機(jī)接口裝置。被判斷的多個(gè)主機(jī)操作系統(tǒng)類型包含Windows Vista、Win7、Windows XP、Linux、以及MAC OS。用于產(chǎn)生操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫的學(xué)習(xí)過程包含(Cl)將USB裝置作為耦接于USB裝置且具有已知操作系統(tǒng)類型的USB主機(jī)的普遍支持的USB裝置;(c2)從自USB主機(jī)接收的消息收集主機(jī)操作系統(tǒng)表現(xiàn)因子;(c3)對多個(gè)具有已知操作系統(tǒng)類型的USB主機(jī)重復(fù)步驟(Cl)和步驟(c2);以及(c4)分析步驟(c2)中所收集的主機(jī)操作系統(tǒng)表現(xiàn)因子以掲示操作系統(tǒng)表現(xiàn)因子與操作系統(tǒng)類型之間的關(guān)系。判斷步驟可以包含在BIOS階段停止枚舉處理,接著,在BIOS階段后繼續(xù)主機(jī)操作系統(tǒng)類型判斷的步驟,包含(al)將USB裝置作為USB主機(jī)普遍支持的USB裝置;(a2)當(dāng)在收到任何設(shè)置裝置地址的消息之前先從USB主機(jī)接收到對設(shè)備描述符的請求吋,則將指示特定供應(yīng)商裝置的設(shè)備描述符返回給USB主機(jī);(a3)當(dāng)在收到設(shè)置裝置地址的消息之后才從USB主機(jī)接收到對設(shè)備描述符的請求吋,則返回指示普遍支持的USB裝置的設(shè)備描述符;(a4)執(zhí)行步驟(a3)之后,從自USB主機(jī)接收的消息收集主機(jī)操作系統(tǒng)表現(xiàn)因子;以及(a5)基于所收集的主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷USB主機(jī)的操作系統(tǒng)類型。枚舉步驟(b)中使用的處理可由客戶配置,因此基于所判斷的主機(jī)操作系統(tǒng)類型,USB裝置可被配置為不同USB裝置。另ー方面,本發(fā)明提供ー種USB裝置,包含控制器來運(yùn)行程序以執(zhí)行上述方法。本領(lǐng)域技術(shù)人員應(yīng)了解以上的發(fā)明內(nèi)容以及之后的具體實(shí)施方式
僅為說明本發(fā)明,以提供對權(quán)利要求書所限定的本發(fā)明的進(jìn)ー步解釋,而非用以限定本發(fā)明的范圍。


圖I為依本發(fā)明第一實(shí)施方式的USB裝置枚舉處理的示意圖。圖2為第一實(shí)施方式中裝置枚舉處理期間USB消息的示意圖。圖3為第一實(shí)施方式中USB裝置執(zhí)行的范例操作系統(tǒng)檢測流程的狀態(tài)機(jī)示意圖。圖4為第一實(shí)施方式中產(chǎn)生操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫的處理示意圖。圖5為用于配置USB裝置的USB裝置中現(xiàn)有技術(shù)的處理示意圖。圖6為依本發(fā)明第二實(shí)施方式,從BIOS階段開始的USB裝置枚舉處理的示意圖。
·
圖7為依本發(fā)明第三實(shí)施方式,可由客戶配置的USB裝置枚舉處理的示意圖。圖8為依本發(fā)明第三實(shí)施方式,可由客戶配置的USB裝置枚舉處理流程的范例示意圖。圖9為依本發(fā)明第三實(shí)施方式,可由客戶配置的USB裝置枚舉處理流程的范例示意圖。圖10為執(zhí)行本發(fā)明第一、第二、第三實(shí)施方式的USB裝置枚舉處理的高水平流程圖。圖11為USB裝置檢測主機(jī)上是否有裝置驅(qū)動(dòng)程序,并且在需要時(shí)安裝驅(qū)動(dòng)程序的處理示意圖。
具體實(shí)施例方式本發(fā)明第一實(shí)施方式提供ー種方法,其中USB裝置執(zhí)行對應(yīng)不同操作系統(tǒng)類型的不同枚舉處理。當(dāng)USB裝置耦接于USB主機(jī)時(shí),在開始實(shí)際枚舉流程之前,USB裝置首先識別USB主機(jī)的操作系統(tǒng)類型。接著,USB裝置依據(jù)識別出的操作系統(tǒng)類型執(zhí)行適當(dāng)?shù)拿杜e步驟。本發(fā)明的實(shí)施方式在USB裝置中實(shí)施。USB裝置包含USB接ロ電路、控制電路以及存儲器??刂齐娐钒琔SB裝置控制器,控制USB接ロ??刂齐娐愤€可包含其他電路或者模塊。存儲器儲存由該控制電路執(zhí)行的程序、USB描述符、以及其他信息。圖I為依本發(fā)明第一實(shí)施方式的USB裝置枚舉處理的示意圖。圖I所示的步驟由USB裝置執(zhí)行;在裝置枚舉期間,由USB主機(jī)執(zhí)行的枚舉步驟是現(xiàn)有技術(shù)的主機(jī)所執(zhí)行的正常步驟,在本實(shí)施方式中沒有改變。USB裝置中,圖I所示的處理在USB裝置控制器中執(zhí)行,或者在與裝置控制器通信的獨(dú)立的主機(jī)操作系統(tǒng)檢測模塊中執(zhí)行。USB裝置控制器是控制與USB主機(jī)的USB主機(jī)控制器通信的元件。此處理能夠以硬件電路、固件或者儲存在USB裝置的存儲器中的軟件形式實(shí)施,并且可以由USB裝置控制器或者主機(jī)操作系統(tǒng)檢測模塊執(zhí)行。如圖I所示,一旦USB裝置與USB主機(jī)相耦接(步驟SI I),則USB裝置將其自身作為USB主機(jī)的USB海量存儲裝置(例如CD-ROM,閃存驅(qū)動(dòng)等)或者作為其他普遍支持的USB裝置(即廣泛應(yīng)用且實(shí)質(zhì)上由所有計(jì)算機(jī)平臺所支持的裝置;范例包含人機(jī)接口裝置(HumanInterface Device,HID)類型的裝置例如鼠標(biāo)及鍵盤)(步驟S12)。此步驟中,USB裝置(通過返回適當(dāng)?shù)脑O(shè)備描述符)將其自身作為普遍支持的裝置,而不考慮其實(shí)際上是什么裝置。接著,USB裝置通過USB主機(jī)執(zhí)行偽枚舉處理(pseudo-enumeration)(步驟S13)。此偽枚舉處理期間,USB裝置從主機(jī)接收消息(請求),主機(jī)發(fā)送消息(請求)是其枚舉處理的正常步驟。USB裝置適當(dāng)?shù)仨憫?yīng)主機(jī)的請求,但是響應(yīng)內(nèi)容可能并未反映實(shí)際裝置的真實(shí)特性。來自USB主機(jī)的消息包含多種信息,一些是主機(jī)的操作系統(tǒng)類型的特性。例如,來自主機(jī)的請求指示主機(jī)是否支持特定種類的USB裝置;ー些消息的特定欄位的數(shù)值對應(yīng)不同操作系統(tǒng)而不同等。USB裝置從消息中收集這些信息并且利用這些信息來判斷主機(jī)的操作系統(tǒng)類型(步驟S14)。判斷步驟中,USB裝置通過利用關(guān)于不同操作系統(tǒng)類型的預(yù)期表現(xiàn)的預(yù)儲存知識(例如,USB裝置中預(yù)儲存的操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫16),使用不同的算法和邏輯,包含模糊邏輯,來判斷主機(jī)的操作系統(tǒng)類型。例如,USB裝置在偽枚舉步驟中收集的信息(在本發(fā)明中亦被稱為“操作系統(tǒng)表現(xiàn)因子”)來源于與微軟操作系統(tǒng)描述符(Microsoft Operating system Descriptor,以下簡稱為MOD) (MOD是允許下層USB裝置聲明其可兼容裝置類型或者改變主機(jī)設(shè)置的ー組USB供應(yīng)商請求及串描述符)有關(guān)的消息、獲取配置描述符的字長(wLength of GetConfiguration Descriptor)、與接 ロ關(guān)聯(lián)描述符(Interface Association Descriptor,以下簡稱為IAD) (IAD是通知主機(jī)USB裝置的接ロ關(guān)系的USB描述符)有關(guān)的消息、設(shè)置地址(消息SET Address)之后的第二請求的特性等。所收集的范例信息如下-MOD-Compat ID (表示MOD的可兼容性特性)=Y或者N (是或者否),-MOD-Ext. property (表示MOD的擴(kuò)展性質(zhì))=Y或者N,(是或者否)-Support IAD (表示是否支持IAD) =Y或者N (是或者否)-wLength of the first Configuration Descriptor (表不第一配置描述符的字長),wLength=4 (字長=4),wLength=255 (字長=255),wLength=other value (字長=其他數(shù)值)。
下列表I是基于觀察所得ー些范例表現(xiàn)因子的內(nèi)容。表I
權(quán)利要求
1.一種通用串行總線裝置枚舉方法,用于通用串行總線裝置,包含 Ca)判斷耦接于該通用串行總線裝置的通用串行總線主機(jī)的操作系統(tǒng)類型;以及(b)基于所判斷的該通用串行總線主機(jī)的該操作系統(tǒng)類型從儲存在該通用串行總線裝置中的多個(gè)通用串行總線裝置枚舉處理中選擇一個(gè)通用串行總線裝置枚舉處理來執(zhí)行通用串行總線裝置枚舉。
2.如權(quán)利要求I所述的通用串行總線裝置枚舉方法,其特征在于,該步驟(a)包含 (al)將該通用串行總線裝置作為該通用串行總線主機(jī)普遍支持的通用串行總線裝置; (a2)從自該通用串行總線主機(jī)接收的多個(gè)消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子;以及(a3)基于所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷該通用串行總線主機(jī)的該操作系統(tǒng)類型。
3.如權(quán)利要求2所述的通用串行總線裝置枚舉方法,其特征在于,該普遍支持的通用串行總線裝置為通用串行總線海量存儲裝置或者通用串行總線人機(jī)接口裝置。
4.如權(quán)利要求2所述的通用串行總線裝置枚舉方法,其特征在于,該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子包含從由多個(gè)因子組成的群組中所選擇的至少一因子,該多個(gè)因子包含獲取第一配置描述符的消息、獲取第二配置描述符的消息、與接口關(guān)聯(lián)描述符有關(guān)的消息、以及設(shè)置地址之后的第二請求的特性。
5.如權(quán)利要求2所述的通用串行總線裝置枚舉方法,其特征在于,該通用串行總線裝置包含預(yù)儲存的操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫,儲存的該操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫包含多個(gè)已知操作系統(tǒng)類型的多個(gè)已知表現(xiàn)因子的相關(guān)信息,并且該步驟(a3)通過使用預(yù)儲存的該操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫來執(zhí)行。
6.如權(quán)利要求5所述的通用串行總線裝置枚舉方法,其特征在于,該多個(gè)已知操作系統(tǒng)類型包含 Windows Vista、Win7、Windows XP、Linux 以及 MAC OS。
7.如權(quán)利要求5所述的通用串行總線裝置枚舉方法,其特征在于,該通用串行總線裝置枚舉方法還包含 (C)在執(zhí)行該步驟(a)之前,產(chǎn)生該操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫,包含 (Cl)將該通用串行總線裝置作為具有已知操作系統(tǒng)類型的通用串行總線主機(jī)普遍支持的通用串行總線裝置; (c2)從自該通用串行總線主機(jī)接收的消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子; (c3)對多個(gè)具有已知操作系統(tǒng)類型的通用串行總線主機(jī)重復(fù)該步驟(Cl)和該步驟(c2);以及 (c4)分析該步驟(c2)中所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子以揭示該多個(gè)操作系統(tǒng)表現(xiàn)因子與該操作系統(tǒng)類型之間的關(guān)系。
8.如權(quán)利要求I所述的通用串行總線裝置枚舉方法,其特征在于,該步驟(a)包含 (al)將該通用串行總線裝置作為該通用串行總線主機(jī)普遍支持的通用串行總線裝置; (a2)當(dāng)在收到任何設(shè)置裝置地址的消息之前先從該通用串行總線主機(jī)接收到對設(shè)備描述符的請求時(shí),則將指示特定供應(yīng)商裝置的設(shè)備描述符返回給該通用串行總線主機(jī);(a3)當(dāng)在收到設(shè)置裝置地址的消息之后才從該通用串行總線主機(jī)接收到對設(shè)備描述符的請求時(shí),則返回指示普遍支持的通用串行總線裝置的設(shè)備描述符; (a4)執(zhí)行該步驟(a3)之后,從自該通用串行總線主機(jī)接收的多個(gè)消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子;以及 (a5)基于所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷該通用串行總線主機(jī)的該操作系統(tǒng)類型。
9.如權(quán)利要求I所述的通用串行總線裝置枚舉方法,其特征在于,在執(zhí)行該步驟(a)之前,將定義枚舉處理流程的配置元素儲存在通用串行總線裝置中,其中,該步驟(b)依據(jù)該配置元素定義的枚舉處理流程執(zhí)行。
10.如權(quán)利要求I所述的通用串行總線裝置枚舉方法,其特征在于,該步驟(a)還判斷該通用串行總線主機(jī)上是否已安裝針對目標(biāo)通用串行總線裝置的適當(dāng)?shù)尿?qū)動(dòng)程序,并且其中該步驟(b)包含若未安裝該驅(qū)動(dòng)程序,則將該通用串行總線裝置作為儲存該驅(qū)動(dòng)程序及自動(dòng)運(yùn)行程序的海量存儲裝置儲存,以使該驅(qū)動(dòng)程序安裝在該通用串行總線主機(jī)上。
11.如權(quán)利要求10所述的通用串行總線裝置枚舉方法,其特征在于,該步驟(a)包含基于來自該通用串行總線主機(jī)的微軟操作系統(tǒng)描述符請求中的供應(yīng)商編碼數(shù)值來判斷通用串行總線主機(jī)上是否已安裝該驅(qū)動(dòng)程序。
12.一種通用串行總線裝置,包含 通用串行總線接口電路; 控制電路,控制該通用串行總線接口電路;以及 存儲器,儲存由該控制電路執(zhí)行的程序編碼,該程序編碼用于使該控制電路執(zhí)行處理程序,該處理程序包含 (a)判斷耦接于該通用串行總線裝置的通用串行總線主機(jī)的操作系統(tǒng)類型;以及 (b)基于所判斷的該通用串行總線主機(jī)的該操作系統(tǒng)類型從儲存在該通用串行總線裝置中的多個(gè)通用串行總線裝置枚舉處理中選擇一個(gè)通用串行總線裝置枚舉處理來執(zhí)行通用串行總線裝置枚舉。
13.如權(quán)利要求12所述的通用串行總線裝置,其特征在于,該步驟(a)包含 (al)將該通用串行總線裝置作為該通用串行總線主機(jī)普遍支持的通用串行總線裝置; (a2)從自該通用串行總線主機(jī)接收的多個(gè)消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子;以及(a3)基于所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷該通用串行總線主機(jī)的該操作系統(tǒng)類型。
14.如權(quán)利要求13所述的通用串行總線裝置,其特征在于,該普遍支持的通用串行總線裝置為通用串行總線海量存儲裝置或者通用串行總線人機(jī)接口裝置。
15.如權(quán)利要求13所述的通用串行總線裝置,其特征在于,該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子包含從由多個(gè)因子組成的群組中所選擇的至少一因子,該多個(gè)因子包含獲取第一配置描述符的消息、獲取第二配置描述符的消息、與接口關(guān)聯(lián)描述符有關(guān)的消息、以及設(shè)置地址之后的第二請求的特性。
16.如權(quán)利要求13所述的通用串行總線裝置,其特征在于,該存儲器包含預(yù)儲存的操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫,預(yù)儲存的該操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫包含多個(gè)已知操作系統(tǒng)類型的多個(gè)已知表現(xiàn)因子的相關(guān)信息,并且該步驟(a3)通過使用預(yù)儲存的該操作系統(tǒng)表現(xiàn)知識數(shù)據(jù)庫來執(zhí)行。
17.如權(quán)利要求16所述的通用串行總線裝置,其特征在于,該多個(gè)已知操作系統(tǒng)類型包含 Windows Vista> Win7> Windows XP、Linux 以及 MAC 操作系統(tǒng)。
18.如權(quán)利要求16所述的通用串行總線裝置,其特征在于,該處理程序還包含 (c)將該通用串行總線裝置作為具有已知操作系統(tǒng)類型的通用串行總線主機(jī)普遍支持的通用串行總線裝置; (c2)從自該通用串行總線主機(jī)接收的多個(gè)消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子; (c3)對多個(gè)具有已知操作系統(tǒng)類型的通用串行總線主機(jī)重復(fù)該步驟(Cl)和該步驟(c2);以及 (c4)分析該步驟(c2)中所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子以揭示該多個(gè)操作系統(tǒng)表現(xiàn)因子與該操作系統(tǒng)類型之間的關(guān)系。
19.如權(quán)利要求12所述的通用串行總線裝置,其特征在于,該步驟(a)包含 (al)將該通用串行總線裝置作為該通用串行總線主機(jī)普遍支持的通用串行總線裝置; (a2)當(dāng)在收到任何設(shè)置裝置地址的消息之前先從該通用串行總線主機(jī)接收到對設(shè)備描述符的請求時(shí),則將指示特定供應(yīng)商裝置的設(shè)備描述符返回給該通用串行總線主機(jī);(a3)當(dāng)在收到設(shè)置裝置地址的消息之后才從該通用串行總線主機(jī)接收到對設(shè)備描述符的請求時(shí),則返回指示普遍支持的通用串行總線裝置的設(shè)備描述符; (a4)執(zhí)行該步驟(a3)之后,從自該通用串行總線主機(jī)接收的多個(gè)消息收集多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子;以及 (a5)基于所收集的該多個(gè)主機(jī)操作系統(tǒng)表現(xiàn)因子,判斷該通用串行總線主機(jī)的該操作系統(tǒng)類型。
20.如權(quán)利要求12所述的通用串行總線裝置,其特征在于,該處理程序還包含在執(zhí)行該步驟(a)之前,將定義枚舉處理流程的配置元素儲存在通用串行總線裝置中,其中,該步驟(b)依據(jù)該配置元素定義的枚舉處理流程執(zhí)行。
21.如權(quán)利要求12所述的通用串行總線裝置,其特征在于,該步驟(a)還判斷該通用串行總線主機(jī)上是否已安裝針對目標(biāo)通用串行總線裝置的適當(dāng)?shù)尿?qū)動(dòng)程序,并且其中該步驟(b)包含若未安裝該驅(qū)動(dòng)程序,則將該通用串行總線裝置作為儲存該驅(qū)動(dòng)程序及自動(dòng)運(yùn)行程序的海量存儲裝置儲存,以使該驅(qū)動(dòng)程序安裝在該通用串行總線主機(jī)上。
22.如權(quán)利要求21所述的通用串行總線裝置,其特征在于,該步驟(a)包含基于來自該通用串行總線主機(jī)的微軟操作系統(tǒng)描述符請求中的供應(yīng)商編碼數(shù)值來判斷通用串行總線主機(jī)上是否已安裝該驅(qū)動(dòng)程序。
全文摘要
本發(fā)明提供一種USB裝置枚舉處理程序,用于USB裝置。USB裝置首先檢測耦接于裝置的USB主機(jī)操作系統(tǒng)類型,且基于所檢測的主機(jī)操作系統(tǒng)類型從多個(gè)儲存的處理程序中選擇一個(gè)來執(zhí)行裝置枚舉。為檢測主機(jī)操作系統(tǒng)類型,USB裝置首先將自身作為主機(jī)的USB海量存儲裝置或者人機(jī)接口裝置,執(zhí)行裝置枚舉來從主機(jī)收集操作系統(tǒng)表現(xiàn)因子,及從操作系統(tǒng)表現(xiàn)因子判斷操作系統(tǒng)類型。由此,使用針對所檢測到的主機(jī)操作系統(tǒng)類型的特定枚舉處理,USB裝置通過將自身作為實(shí)際上適用的USB裝置來執(zhí)行實(shí)際裝置枚舉。多種儲存的枚舉處理可由用戶配置。進(jìn)一步地,本發(fā)明提供一種方法,當(dāng)主機(jī)處于BIOS階段時(shí)停止枚舉處理。
文檔編號G06F9/445GK102713843SQ201180005408
公開日2012年10月3日 申請日期2011年8月24日 優(yōu)先權(quán)日2010年8月24日
發(fā)明者張朝江, 徐英哲, 陳俊儒, 黃文俊 申請人:聯(lián)發(fā)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1