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

使用事件為中心的登記模型的打印機驅(qū)動器與應(yīng)用的分離的制作方法

文檔序號:6441003閱讀:153來源:國知局
專利名稱:使用事件為中心的登記模型的打印機驅(qū)動器與應(yīng)用的分離的制作方法
使用事件為中心的登記模型的打印機驅(qū)動器與應(yīng)用的分離技術(shù)領(lǐng)域
本發(fā)明總的涉及設(shè)備驅(qū)動器,更具體地,涉及打印機驅(qū)動器。
技術(shù)背景
設(shè)備驅(qū)動器是常常使得一個或多個較高級別軟件應(yīng)用能夠與硬件設(shè)備交互的軟件代碼體。通常,設(shè)備驅(qū)動器接受來自由用戶與其交互的較高級別的應(yīng)用的通用命令,并把命令翻譯成被驅(qū)動的打印機設(shè)備被配置來處理的較低級別命令。通過作為翻譯器,設(shè)備驅(qū)動器可以簡化較高級別應(yīng)用的編程,因為那些應(yīng)用不必被編程來發(fā)出由設(shè)備處理的較低級別語言的命令。設(shè)備驅(qū)動器還可以提供標(biāo)準(zhǔn)化的接口,較高級別的應(yīng)用通過該接口可以調(diào)用設(shè)備的功能。
打印機驅(qū)動器是使得較高級別應(yīng)用能夠調(diào)用由打印機設(shè)備提供的功能的軟件代碼體。典型地,打印機驅(qū)動器提供的功能性大致可歸類為再現(xiàn)、配置和用戶體驗功能性。概略地,由打印機驅(qū)動器提供的再現(xiàn)功能性把當(dāng)打印工作被發(fā)起時生成的信息翻譯成遵照該打印機設(shè)備被配置來處理的頁面描述語言(PDL)的命令和數(shù)據(jù)。配置功能性使得較高級別的程序能夠配置和查看打印機設(shè)備的配置方面,諸如,打印機設(shè)備支持的紙張尺寸、是否支持彩色打印等等。用戶體驗功能性管理打印操作期間由打印機設(shè)備對用戶的信息呈現(xiàn),諸如,讓用戶知道打印作業(yè)已開始或結(jié)束、墨水供應(yīng)量低等等。發(fā)明內(nèi)容
申請人已經(jīng)意識到傳統(tǒng)的打印機驅(qū)動器的幾個問題。例如,打印機驅(qū)動器常常在打印操作期間試圖把信息顯示給用戶(例如,經(jīng)由狀態(tài)監(jiān)視器,諸如在顯示器的右下角,指示墨水剩余量、打印作業(yè)的開始或結(jié)束、或允許用戶輸入PIN號來開始打印的對話框等等) 的時候出錯。在這方面,在傳統(tǒng)的系統(tǒng)中,包括打印機驅(qū)動器的代碼被裝載到發(fā)起打印的應(yīng)用的進(jìn)程,這樣,應(yīng)用實際上將打印機驅(qū)動器作為它的進(jìn)程的一部分執(zhí)行。打印機驅(qū)動器代碼通常由打印機制造商以二進(jìn)制碼來編程,以使得應(yīng)用和底層的操作系統(tǒng)具有有限的權(quán)限進(jìn)入打印機驅(qū)動器在任何時候可能正試圖執(zhí)行的操作。因為打印機驅(qū)動器代碼在應(yīng)用的進(jìn)程內(nèi)被執(zhí)行,所以打印機驅(qū)動器的任何出錯(例如,因為對當(dāng)前離線的網(wǎng)絡(luò)資源的調(diào)用沒有被應(yīng)答,由于“for”循環(huán)未曾終結(jié)等等而失敗的向用戶顯示信息的嘗試)均被通知到應(yīng)用,且可以使得它崩潰或“掛起”。因為這一點,打印機驅(qū)動器是應(yīng)用出錯的常見原因。
傳統(tǒng)的打印機驅(qū)動器的另一個問題是,它們包括在執(zhí)行以前被編譯的代碼。結(jié)果, 每個打印機驅(qū)動器對于使用特別的操作系統(tǒng)和處理器結(jié)構(gòu)體系的系統(tǒng)是特定的(即,僅在該系統(tǒng)中可使用)。因此,由用戶團體的第一部分使用的打印機驅(qū)動器可能不能被使用不同操作系統(tǒng)和/或處理器結(jié)構(gòu)體系的該用戶團體的第二部分使用。結(jié)果,在市場上不同打印機驅(qū)動器的數(shù)量不必要地多。
本發(fā)明的一些實施例通過提供被配置成在打印操作期間操控信息對用戶的呈現(xiàn)的“打印機用戶接口(UI)組件”,而解決這些和/或其它缺點。通過使打印機驅(qū)動器的核心再現(xiàn)和配置功能性與呈現(xiàn)信息給最終用戶的那個分離(decouple),以及允許打印機UI組件操控信息的這種呈現(xiàn),本發(fā)明的實施例可以減小由于打印機驅(qū)動器出錯而造成應(yīng)用可能崩潰或掛起的風(fēng)險。在一些實施例中,建立信息應(yīng)當(dāng)根據(jù)其被呈現(xiàn)給用戶的事件的登記處, 以及可以對于這些事件中的某些或所有事件來登記打印機UI組件,使得當(dāng)指定的事件發(fā)生時,打印機UI組件可以被調(diào)用且把信息呈現(xiàn)給用戶。打印機UI組件可以把用戶提供的任何輸入轉(zhuǎn)送到適當(dāng)?shù)慕M件以進(jìn)行附加處理,因此其充當(dāng)交叉進(jìn)程(cross-process)的接在一些實施例中,打印機UI組件可包括獨立的應(yīng)用。然而,不是本發(fā)明的所有實施例都被限于這樣的實現(xiàn)方案。例如,打印機UI組件可包括一個或多個可執(zhí)行文件、動態(tài)鏈接庫,或打印機UI組件可以通過使用任何其它適當(dāng)?shù)囊粋€或多個組件而被實現(xiàn)。在一些實施例,包括打印機UI組件的代碼體不必在執(zhí)行之前被編譯。例如,打印機UI組件可以通過使用一個或多個腳本語言而被編程。通過去除對于編譯包括打印機UI組件的代碼的需要,打印機UI組件可以在各種各樣的處理器結(jié)構(gòu)體系中被使用,并在多種操作系統(tǒng)的任何一種下執(zhí)行。當(dāng)然,本發(fā)明的實施例不限于以這樣的方式實現(xiàn)打印機UI組件,因為可以利用任何適當(dāng)?shù)膶崿F(xiàn)方式。以上是本發(fā)明的非限制性概要,本發(fā)明是由所附權(quán)利要求規(guī)定的。


附圖不打算按比例畫出。在圖中,各個圖上所說明的每個相同的或幾乎相同的組件用同樣的數(shù)字來代表。為了清晰起見,可能不是每個組件在每個圖上都加標(biāo)簽。在圖上,
圖1是描繪按照本發(fā)明的一些實施例的、用于使得最終用戶能夠改變打印設(shè)置的示例性組件和技術(shù)的框圖2是描繪按照本發(fā)明的一些實施例的、可被利用來使得應(yīng)用能夠發(fā)起打印的樣本組件和技術(shù)的框圖3是描繪按照本發(fā)明的一些實施例的、使得應(yīng)用能夠完成打印作業(yè)的示例性組件和技術(shù)的框圖4是描繪按照本發(fā)明的一些實施例的、在事件發(fā)生后通過其可以調(diào)用組件來使得信息被顯示給用戶的過程的例子的流程圖5是描繪可被利用來實現(xiàn)本發(fā)明的一些實施例的示例性計算機的框圖;以及圖6是描繪在其上可以記錄體現(xiàn)本發(fā)明的多方面的指令的示例性存儲器的框圖。
具體實施例方式本發(fā)明的一些實施例提供在打印操作期間將信息呈現(xiàn)給用戶的打印機UI組件。 例如,可以建立一個打印相關(guān)的事件的登記處,信息應(yīng)當(dāng)根據(jù)所述事件被呈現(xiàn)給用戶,以及打印機UI組件可以對于這些事件中的某些或所有事件進(jìn)行登記。當(dāng)發(fā)生指定的事件時, 打印機UI組件可以被打印機驅(qū)動器、操作系統(tǒng)(例如,打印子系統(tǒng))、或一個或多個其它組件調(diào)用。當(dāng)被調(diào)用時,打印機UI組件可以呈現(xiàn)信息給用戶,并把由用戶提供的任何輸入轉(zhuǎn)送到適當(dāng)?shù)慕M件以進(jìn)行附加處理。照此,打印機UI組件可以提供交叉進(jìn)程接口,使得能轉(zhuǎn)送涉及例如打印機設(shè)備狀態(tài)和管理的信息。因為打印機UI組件操控打印相關(guān)的信息對用戶的呈現(xiàn),所以可以使打印機驅(qū)動器的核心再現(xiàn)和配置功能性與涉及到信息呈現(xiàn)的功能性分離,由此減小由于打印機驅(qū)動器出錯而造成應(yīng)用將崩潰或掛起的風(fēng)險。
圖1-3描繪了其間在打印機UI組件可被調(diào)用來操控打印相關(guān)的信息對用戶的呈現(xiàn)的示例性情景。更具體地,圖1-3的每個圖均描繪了示例性方式,包括應(yīng)用、操作系統(tǒng)的打印子系統(tǒng)、打印機UI組件和打印機驅(qū)動器的一組示例性組件以所述方式來互操作以及轉(zhuǎn)送信息,以便在打印相關(guān)的操作期間,完成信息對用戶的呈現(xiàn)。
圖1描繪包括用戶改變打印設(shè)置的示例性情景,諸如通過發(fā)起打印作業(yè)(例如,在某些操作系統(tǒng)下,通過點擊“文件”,接著“打印……”,或使用發(fā)起打印作業(yè)的任何其它方式)且然后指示改變打印設(shè)置的愿望(例如,通過點擊由打印對話呈現(xiàn)的“屬性”,或使用發(fā)起對打印設(shè)置的改變的任何其它方式)來進(jìn)行。
圖1描繪打印機設(shè)備135,它可以是具有能力來打印信息(例如,預(yù)定義的頁面布局中的文檔)的許多類型的設(shè)備中的任何設(shè)備。打印機設(shè)備135可以是物理地體現(xiàn)的、虛擬的、或是二者的組合。還顯示了應(yīng)用105,它可包括具有能力來發(fā)起信息的打印的許多類型應(yīng)用中的任何應(yīng)用,諸如字處理、電子表格、呈現(xiàn)、照片管理或其它類型的應(yīng)用。雖然在圖1 上是與應(yīng)用105分開地被描繪的,但標(biāo)準(zhǔn)UI 110可以形成應(yīng)用105的一部分,和/或可以包括執(zhí)行涉及打印操作的信息的顯示的一個或多個獨立的組件。作為例子,標(biāo)準(zhǔn)UI 110可包括當(dāng)用戶指示來自應(yīng)用105內(nèi)的發(fā)起打印的愿望時呈現(xiàn)打印對話框給用戶的組件。
打印機驅(qū)動器120包括使得應(yīng)用105能夠調(diào)用打印機設(shè)備135的功能的代碼。打印機驅(qū)動器120可以包括任何適當(dāng)?shù)闹噶钪黧w,它使得應(yīng)用和/或操作系統(tǒng)能夠發(fā)出指令和信息到打印設(shè)備,諸如用于按照預(yù)定義的頁面布局進(jìn)行打印。打印子系統(tǒng)115形成專用來管理打印操作和在應(yīng)用105與打印機驅(qū)動器120之間的信息轉(zhuǎn)送的操作系統(tǒng)的一部分。
在圖1的例子中,打印機UI組件125是當(dāng)發(fā)生指定的事件時可被調(diào)用來呈現(xiàn)信息給用戶的獨立的組件。然而,應(yīng)當(dāng)意識到,打印機UI組件125不必包括一個或多個獨立的組件,并且它可以以任何適當(dāng)?shù)姆绞奖粚崿F(xiàn)。例如,打印機UI組件125可以替換地形成所描繪的一個或多個其它組件的一部分,諸如打印子系統(tǒng)115和/或應(yīng)用105。另外,應(yīng)當(dāng)意識到,術(shù)語“打印機UI組件”的使用并不將本發(fā)明的實施例限制于利用單個組件來執(zhí)行這里公開的功能。打印機UI組件125可包括任何適當(dāng)數(shù)目的單元,因為本發(fā)明的實施例在這方面不被限制。
在圖1所示的示例性情景的開始,應(yīng)用105使得標(biāo)準(zhǔn)UI 110被打開,如在150所指示的。這例如可以是用戶在應(yīng)用105內(nèi)點擊“文件”,接著“打印……”,或提供指示打印信息的愿望的其它輸入的結(jié)果,這會使得打印對話框被打開。然而,本發(fā)明的實施例不限于接收指示打印愿望的用戶輸入或作為那個指示的結(jié)果而與用戶交互的任何具體方式。任何的一個或多個用戶動作和/或應(yīng)用處理可以使得標(biāo)準(zhǔn)UI 110被打開。
標(biāo)準(zhǔn)UI 110然后發(fā)出指令到打印子系統(tǒng)115以打開定制的UI,如在155所指示的。作為例子,這可以當(dāng)用戶在包括標(biāo)準(zhǔn)UI 110的對話框被打開時點擊“屬性”時發(fā)生。當(dāng)然,可以利用指示更改打印設(shè)置的愿望的任何輸入,因為本發(fā)明的實施例在這方面不被限制。在一些實施例中,當(dāng)接收到這樣的指示時,進(jìn)行打印子系統(tǒng)115的調(diào)入。當(dāng)然,打印子系統(tǒng)115可以以任何適當(dāng)?shù)姆绞奖徽{(diào)用,這可能牽涉到或不牽涉到所進(jìn)行的調(diào)入。另外,打印子系統(tǒng)115不必如在155處所指示的那樣被調(diào)用。例如,在本發(fā)明的一些實施例中,標(biāo)準(zhǔn)UI 110可以與登記數(shù)據(jù)庫130 (例如直接地)通信,以便確定定制UI的打開是否是組件已對于其進(jìn)行登記的事件。本發(fā)明的實施例不限于任何特定的實現(xiàn)方式。在圖1所示的例子中,打印子系統(tǒng)115然后對應(yīng)用/事件登記數(shù)據(jù)庫130發(fā)出查詢,以便確定定制UI的打開是否是組件(例如,打印機UI組件125和/或另一個組件)已對于其進(jìn)行登記的事件,如在160指示的。在一些實施例中,應(yīng)用/事件登記數(shù)據(jù)庫130可包括一個或多個被登記來操控某些指定的事件的組件的指示。例如,打印機驅(qū)動器的供應(yīng)者 (例如,制造由打印機驅(qū)動器驅(qū)動的打印機設(shè)備的獨立的硬件售主,和/或一個或多個其它實體)可以指定信息應(yīng)當(dāng)依據(jù)其被呈現(xiàn)給用戶的某些事件,諸如打印作業(yè)的開始或完成、某些錯誤或設(shè)備狀態(tài)條件等等。多種類型事件的任何事件可以被指示,并且多種類型組件的任何組件可以對于每個事件進(jìn)行登記,因為本發(fā)明的實施例在這方面不被限制。而且,應(yīng)當(dāng)意識到,可能包括或不包括數(shù)據(jù)庫的任何適當(dāng)?shù)膬Σ貛?r印ository)可包括一個或多個組件對于指定的事件進(jìn)行登記的指示。本發(fā)明的實施例不限于任何特定的實現(xiàn)方式。在圖1所示的示例性情景下,應(yīng)用/事件登記數(shù)據(jù)庫130指示打印機UI組件125 已對于定制UI的打開進(jìn)行登記,如在165所指示的。打印子系統(tǒng)115于是調(diào)用打印機UI 組件125,如在170所指示的,以及提供指令給與該事件相關(guān)的打印機UI組件125。例如, 打印子系統(tǒng)115可以提供要被呈現(xiàn)給用戶的可選項的指示,以及對于這些可選項的可允許的選擇。雖然圖1上未示出,但是打印機UI組件125把這些可選項呈現(xiàn)給用戶,并且接收關(guān)于所述可選項的選擇。根據(jù)用戶的選擇,打印機UI組件125設(shè)置上下文(例如,通過更新被提供來轉(zhuǎn)送上下文的對象),和提供信息給打印子系統(tǒng)115,如在175所指示的。例如,如果用戶作出改變用于打印作業(yè)的紙張尺寸的選擇,或指示應(yīng)當(dāng)執(zhí)行無邊界的打印,則這個信息可以在175被轉(zhuǎn)送到打印子系統(tǒng)115。打印子系統(tǒng)115然后提供上下文的指示(例如, 指示上下文的對象)到標(biāo)準(zhǔn)UI 110,如在180所指示的。作為改變的結(jié)果,標(biāo)準(zhǔn)UI 110例如可以更改呈現(xiàn)打印相關(guān)的信息的方式(例如,在打印對話框中)。標(biāo)準(zhǔn)UI 110然后提供改變的上下文的指示到應(yīng)用105,如在185所指示的。應(yīng)用 105例如可以使用這個信息來確定如果打印按照用戶的選擇開始,所述改變是否影響信息被提供給打印機驅(qū)動器120的方式。例如,用戶對新的紙張尺寸或無邊界打印的選擇可以使得如果打印開始,在提供信息給打印機驅(qū)動器120之前,該應(yīng)用改變指定圖像將被呈現(xiàn)到的區(qū)域的信息。圖1的示例性情景然后完成。圖2描繪其中用戶接著指令應(yīng)用105開始打印的示例性情景。在本例中,應(yīng)用105 發(fā)起打印作業(yè),如在205所指示的。當(dāng)然,應(yīng)當(dāng)意識到,不是所有的實施例都牽涉到發(fā)起打印作業(yè)的應(yīng)用105,因為任何適當(dāng)?shù)?多個)組件都可以發(fā)起打印作業(yè),諸如UI 110和/或打印子系統(tǒng)115。在圖2所示的例子中,應(yīng)用105因而通過引發(fā)事件而發(fā)起打印作業(yè),這是籍以發(fā)出請求來執(zhí)行對于特定事件的發(fā)生而定義的代碼的技術(shù),盡管可以替換地利用任何適當(dāng)?shù)?多項)技術(shù)。如在210所指示的,打印機驅(qū)動器120然后向打印子系統(tǒng)115指示所引發(fā)的事件, 打印子系統(tǒng)115依據(jù)此查詢事件/應(yīng)用登記數(shù)據(jù)庫130,以確定組件是否已對于所述事件進(jìn)行登記,如在215所指示的。在所描繪的示例性情景中,打印子系統(tǒng)115確定打印機UI組件125已對于所述事件進(jìn)行登記,如在220所指示的,則調(diào)用打印機UI組件125,如在225 所指示的。雖然圖2上未示出,但是打印機UI組件125然后可以把各種信息和/或涉及打印作業(yè)的可選項呈現(xiàn)給用戶。例如,打印機UI組件125可以呈現(xiàn)對話框,其使得用戶能夠例如輸入用于打印作業(yè)的PINJP /或提供其它信息。打印機UI組件125然后通過設(shè)置用于打印作業(yè)的上下文和提供信息到打印子系統(tǒng)115而提供被供應(yīng)給打印子系統(tǒng)115的任何信息,如在230所指示的。打印子系統(tǒng)115然后把信息傳遞到打印機驅(qū)動器120,如在235 所指示的。雖然在圖2上未描繪,但打印機驅(qū)動器120可以接著發(fā)出指令到打印機設(shè)備135 以通過使用由應(yīng)用105提供的數(shù)據(jù)和/或命令而開始打印。圖2所示的示例性情景于是完成。
應(yīng)當(dāng)意識到,圖2上所描繪的示例性情景僅僅是說明性的,并且可能有許多變例。 例如,不必執(zhí)行在230和235指示的通信,因為某些實施例可以提供來讓打印機UI組件125 和/或打印機驅(qū)動器120發(fā)出指令到打印機設(shè)備135,而無需牽涉到打印子系統(tǒng)115??梢詧?zhí)行任何適當(dāng)?shù)奶幚韥戆l(fā)出指令到打印機設(shè)備,因為本發(fā)明的實施例在這方面不被限制。
圖3描繪用戶籍以被告知打印作業(yè)提交的完成的示例性情景。正如在圖2所示的示例性情景下,應(yīng)用105向打印機驅(qū)動器120引發(fā)指示打印作業(yè)提交完成的事件,如在305 所指示的,使得打印機驅(qū)動器120向打印子系統(tǒng)115引發(fā)所述事件,如在310所指示的。打印子系統(tǒng)115然后通過查詢應(yīng)用/事件登記數(shù)據(jù)庫130來確定是否有任何組件已對于所引發(fā)的事件進(jìn)行登記,如在315所指示的。在所顯示的示例性情景中,打印子系統(tǒng)115確定打印機UI組件125已對于該事件進(jìn)行登記,如在320所指示的,則調(diào)用打印機UI組件125, 如在325所指示的。雖然在圖3上未示出,但是調(diào)用打印機UI組件125可以使得信息被呈現(xiàn)給最終用戶,諸如,打印作業(yè)已被提交給打印機設(shè)備用于打印的通知、墨水或紙張供應(yīng)量低的指示(如果可應(yīng)用的話)等等??梢猿尸F(xiàn)多種類型信息的任何信息。如果信息以允許用戶供應(yīng)輸入的方式被呈現(xiàn),那么其指示作為改變的上下文被提供給打印機子系統(tǒng)115,如在 330所指示的,然后打印機子系統(tǒng)把信息傳遞到打印機驅(qū)動器120,如在335所指示的。圖 3的示例性情景然后完成。
在圖1-3的每個圖上還顯示打印子系統(tǒng)115可以周期地接收來自打印機設(shè)備 135的信息,諸如,指示打印機設(shè)備135的當(dāng)前狀態(tài)的信息,如在140所指示的。例如,打印子系統(tǒng)115可以周期地輪詢打印機設(shè)備135,以便確定關(guān)于它的狀態(tài)的信息,諸如它是否被堵塞、它的墨水和/或紙供應(yīng)量是否低等等。在一些實施例中,如果發(fā)生了組件已對于其登記的事件(例如,如通過查詢應(yīng)用/事件登記數(shù)據(jù)庫130而確定的),則打印子系統(tǒng)115可以調(diào)用打印機UI組件125來呈現(xiàn)與該事件相關(guān)的信息給用戶。例如,各種指示可被呈現(xiàn)來告知用戶如何解決所述事件。
應(yīng)當(dāng)意識到,以上參照圖1-3描述的情景僅僅是說明性例子,并且打印機UI組件可以在多種其它情景的任何情景下被調(diào)用來呈現(xiàn)信息給用戶。而且,應(yīng)當(dāng)意識到,圖1-3所示的組件僅僅是例子,因為經(jīng)由軟件、硬件、或它們的組合實現(xiàn)的、多種類型組件的任何組件可以替換地被利用來處理和轉(zhuǎn)送打印相關(guān)的信息。本發(fā)明的實施例不限于任何特定的實現(xiàn)。
圖4描繪用于呈現(xiàn)關(guān)于打印相關(guān)的操作的信息給用戶的示例性過程400。在過程 400的開始,在動作405發(fā)生事件,諸如打印作業(yè)的發(fā)起、打印對話的打開、打印作業(yè)的完成、等等。過程400然后進(jìn)行到動作410,在其中作出關(guān)于組件是否已對于該事件進(jìn)行登記的確定。例如,數(shù)據(jù)庫可以存儲關(guān)于組件已對于其進(jìn)行登記的事件的指示,并且可以查詢該數(shù)據(jù)庫以確定組件是否已對于事件進(jìn)行登記。如果組件已進(jìn)行登記,則過程400進(jìn)行到動作415,其中登記的組件被調(diào)用來把與事件相關(guān)的信息呈現(xiàn)給用戶。如果在動作410確定沒有組件對于該事件進(jìn)行登記,或在動作415完成后,過程400完成。用于實踐本發(fā)明的特征的系統(tǒng)和方法的各種方面可以在諸如圖5所示的示范性計算機系統(tǒng)500那樣的一個或多個計算機系統(tǒng)上被實現(xiàn)。計算機系統(tǒng)500包括(多個)輸入設(shè)備502、(多個)輸出設(shè)備501、處理器503、存儲器系統(tǒng)504和存儲裝置506,所有的這些被直接地或間接地經(jīng)由互連機制505進(jìn)行耦合,互連機制505可包括一個或多個總線、交換機、網(wǎng)絡(luò)和/或任何其它的適當(dāng)?shù)幕ミB。(多個)輸入設(shè)備502接收來自用戶或機器(例如, 操作人員)的輸入,(多個)輸出設(shè)備501顯示或傳送信息到用戶或機器(例如,液晶顯示器)。 (多個)輸入和輸出設(shè)備尤其可被使用來呈現(xiàn)用戶接口??杀皇褂脕硖峁┯脩艚涌诘妮敵鲈O(shè)備的例子包括用于輸出的視覺呈現(xiàn)的打印機或顯示屏,和用于輸出的聽覺呈現(xiàn)的揚聲器或其它聲音生成設(shè)備??杀皇褂糜谟脩艚涌诘妮斎朐O(shè)備的例子包括鍵盤和指示設(shè)備,諸如鼠標(biāo)、觸摸板和數(shù)字化圖形輸入板。作為另一個例子,計算機可以通過語音識別或以其它可聽的格式接收輸入信息。處理器503典型地執(zhí)行被稱為操作系統(tǒng)的計算機程序(例如,微軟Windows族操作系統(tǒng)或任何其它適用的操作系統(tǒng)),它控制其它計算機程序的執(zhí)行,并且提供調(diào)度、輸入/輸出和其它設(shè)備控制、記帳、編譯、存儲裝置指派、數(shù)據(jù)管理、存儲器管理、通信和數(shù)據(jù)流控制。 總起來說,處理器和操作系統(tǒng)規(guī)定了為其編寫應(yīng)用程序和其它計算機程序語言的計算機平臺。處理器503也可以執(zhí)行一個或多個計算機程序以實現(xiàn)各種功能。這些計算機程序可以以任何類型的計算機程序語言來編寫,包括過程編程語言、面向?qū)ο蟮木幊陶Z言、宏語言、或它們的組合。這些計算機程序可被存儲在存儲系統(tǒng)506中。存儲系統(tǒng)506可以把信息保持在易失性或非易失性介質(zhì)上,并且它可以是固定的或可移除的。存儲系統(tǒng)506被更詳細(xì)地顯示在圖6上。存儲系統(tǒng)506可包括有形的計算機可讀和可寫的非易失性記錄介質(zhì)601,在其上存儲規(guī)定計算機程序或要被該程序使用的信息的信號。記錄介質(zhì)例如可以是盤存儲器、閃存和/或可使用來記錄和存儲信息的任何其它制造品。典型地,在操作中,處理器503使得數(shù)據(jù)從非易失性記錄介質(zhì)601讀出到易失性存儲器602(例如,隨機存取存儲器,或RAM),該易失性存儲器602與介質(zhì)601相比,允許由處理器503更快速地訪問信息。存儲器602可被安置在存儲系統(tǒng)506或存儲器系統(tǒng)504中,如圖5所示。處理器503通常處理在集成電路存儲器504、602內(nèi)的數(shù)據(jù),然后,在處理完成后將數(shù)據(jù)拷貝到介質(zhì)601。已知有各種用于管理在介質(zhì)601與集成電路存儲器504、602之間的數(shù)據(jù)移動的機制,而本發(fā)明不限于任何機制,無論是現(xiàn)在已知的還是以后開發(fā)的。本發(fā)明也不限于任何特定的存儲器504或存儲系統(tǒng)506。在這樣描繪了本發(fā)明的至少一個實施例的幾個方面以后,應(yīng)當(dāng)意識到,各種更改、 修改和改進(jìn)對于本領(lǐng)域技術(shù)人員而言是容易想到的。這樣的更改、修改和改進(jìn)被規(guī)定為本公開內(nèi)容的一部分,并且被規(guī)定為在本發(fā)明的精神和范圍內(nèi)。因此,以上的說明和附圖僅僅是作為例子。本發(fā)明的上述的實施例可以以多種方式的任何方式被實現(xiàn)。例如,實施例可以通過使用硬件、軟件、或二者的組合被實現(xiàn)。當(dāng)以軟件被實現(xiàn)時,軟件代碼可以在任何適當(dāng)?shù)奶幚砥骰蛱幚砥骷仙媳粓?zhí)行,而不管是在單個計算機上提供的還是被分布在多個計算機和/或系統(tǒng)之間的。這樣的處理器可被實現(xiàn)為集成電路,在一個集成電路組件中有一個或多個處理器,雖然處理器可以使用具有任何適當(dāng)?shù)母袷降碾娐范粚崿F(xiàn)。
應(yīng)當(dāng)意識到,執(zhí)行這里所描述的功能的任何組件或組件集合通??杀豢醋鳛榭刂粕鲜龉δ艿囊粋€或多個控制器。所述一個或多個控制器可以以許多方式被實現(xiàn),諸如用專用硬件,或通過利用使用微代碼或軟件而被編程的一個或多個處理器來執(zhí)行以上敘述的功能。在控制器存儲或提供用于系統(tǒng)操作的數(shù)據(jù)的場合下,這樣的數(shù)據(jù)可被存儲在中央儲藏庫中、在多個儲藏庫中、或在它們的組合中。
還應(yīng)當(dāng)意識到,計算機可以以多種形式的任何形式被具體化,諸如機架安裝式計算機、臺式計算機、膝上型計算機、或平板計算機。另外,計算機可以被具體化為通常不被看作為計算機、但具有適當(dāng)?shù)奶幚砟芰Φ脑O(shè)備,這些設(shè)備包括個人數(shù)字助理(PDA)、智能電話、 或任何其它適當(dāng)?shù)谋銛y式或固定式電子設(shè)備。
另外,計算機可以具有一個或多個輸入和輸出設(shè)備。這些設(shè)備尤其可被使用來呈現(xiàn)用戶接口。可被使用來提供用戶接口的輸出設(shè)備的例子包括用于輸出的視覺呈現(xiàn)的打印機或顯示屏,和用于輸出的聽覺呈現(xiàn)的揚聲器或其它聲音生成設(shè)備??杀皇褂糜谟脩艚涌诘妮斎朐O(shè)備的例子包括鍵盤和指示設(shè)備,諸如鼠標(biāo)、觸摸板和數(shù)字化圖形輸入板。作為另一個例子,計算機可以通過語音識別或以其它可聽的格式接收輸入信息。
這樣的計算機可以通過任何適當(dāng)形式的一個或多個網(wǎng)絡(luò)被互連,這些網(wǎng)絡(luò)包括局域網(wǎng)或廣域網(wǎng),諸如企業(yè)網(wǎng)或互聯(lián)網(wǎng)。這樣的網(wǎng)絡(luò)可以是基于任何適當(dāng)?shù)募夹g(shù),并可以按照任何適當(dāng)?shù)膮f(xié)議操作且可以包括無線網(wǎng)、有線網(wǎng)、或光纖網(wǎng)絡(luò)。
另外,這里概述的各種方法或過程可被編碼成在利用多種操作系統(tǒng)或平臺的任何一種的一個或多個處理器上可執(zhí)行的軟件。另外,這樣的軟件可以通過使用多種適用的編程語言和/或編程或腳本工具的任何一種被編寫,并且還可被編譯成在框架或虛擬環(huán)境下執(zhí)行的可執(zhí)行機器語言代碼或中間代碼。
在這方面,本發(fā)明可以被體現(xiàn)為用一個或多個程序被編碼的計算機可讀介質(zhì)(或多個計算機可讀介質(zhì))(例如,計算機存儲器、一個或多個軟盤、壓密盤(CD)、光盤、數(shù)字視頻盤(DVD)、磁帶、閃存、在現(xiàn)場可編程門陣列或其它半導(dǎo)體器件中的電路配置、或其它非瞬時的有形的計算機可讀存儲介質(zhì)),所述程序當(dāng)在一個或多個計算機或其它處理器上被執(zhí)行時,執(zhí)行實現(xiàn)以上討論的本發(fā)明的各種實施例的方法。計算機可讀介質(zhì)或媒體可以是可傳送的,使得被存儲在其上的程序可被裝載到一個或多個不同的計算機或其它處理器,來實現(xiàn)如以上討論的本發(fā)明的各種方面。當(dāng)在這里使用時,術(shù)語“非瞬時的計算機可讀存儲介質(zhì)”僅僅包括可被看作為制品(即,制造品)或機器的計算機可讀介質(zhì)。
術(shù)語“程序”或“軟件”在這里以通用的意義被使用來指任何類型的計算機代碼或計算機可執(zhí)行指令集,其可被利用來對計算機或其它處理器編程,以便實現(xiàn)如以上討論的本發(fā)明的各種方面。另外,應(yīng)當(dāng)意識到,按照本實施例的一個方面,在被執(zhí)行時完成本發(fā)明的方法的一個或多個計算機程序不必駐留在單個計算機或處理器上,而是可以以模塊方式分布在許多不同的計算機或處理器之間,以便實現(xiàn)本發(fā)明的各種方面。
計算機可執(zhí)行指令可以以諸如程序模塊那樣的許多形式,被一個或多個計算機或其它設(shè)備執(zhí)行。通常,程序模塊包括例行程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,其執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。典型地,程序模塊的功能性可以按需要在各種實施例中被組合或分布。另外,數(shù)據(jù)結(jié)構(gòu)可以以任何適當(dāng)?shù)男问奖淮鎯υ谟嬎銠C可讀媒體中。為了說明的簡明起見,數(shù)據(jù)結(jié)構(gòu)可被顯示為具有通過在數(shù)據(jù)結(jié)構(gòu)中的位置而相關(guān)的字段。這樣的關(guān)系同樣可以通過給字段的存儲指派以計算機可讀介質(zhì)中的位置來傳達(dá)字段之間的關(guān)系而達(dá)至IJ,然而,任何適當(dāng)?shù)臋C制可被使用來建立數(shù)據(jù)結(jié)構(gòu)的字段中的信息之間的關(guān)系,包括通過使用指針、標(biāo)記、或建立在數(shù)據(jù)元素之間的關(guān)系的其它機制。本發(fā)明的各種方面可以單獨地、組合地、或以在以上描述的實施例中沒有具體地討論的各種各樣的安排來被使用,所以,在其應(yīng)用上不限于在以上的說明中所闡述的和在附圖上所圖示的組件的細(xì)節(jié)和安排。例如,在一個實施例中描述的方面可以以任何方式與在其它實施例中描述的方面相組合。另外,本發(fā)明可被體現(xiàn)為方法,其示例已被提供。作為方法的一部分被執(zhí)行的動作可以以任何適當(dāng)?shù)姆绞奖慌判?。因此,實施例可被?gòu)建成其中動作以不同于所舉例說明的次序的次序被執(zhí)行,其可包括同時執(zhí)行某些動作,雖然在這里描述的說明性實施例中被顯示為順序的動作。在權(quán)利要求中用來修改權(quán)利要求元素的諸如“第一”、“第二”、“第三”等等那樣的次序性術(shù)語的使用本身并不暗示一個權(quán)利要求元素超過另一個元素的任何優(yōu)先權(quán)、優(yōu)先順序或次序,或方法的動作被執(zhí)行的時間上的次序,而是僅僅被用作為用于將具有某個名字的一個權(quán)利要求元素與(若非次序術(shù)語的使用)具有相同名字的另一個元素區(qū)分開的標(biāo)簽, 以便區(qū)分權(quán)利要求元素。另外,這里使用的措辭或術(shù)語是為了用于說明,而不應(yīng)當(dāng)看作為限制。這里“包括”、“包含”或“具有”、“含有”、“牽涉到”及其變化的使用打算包括此后列出的項目及其等同物,以及附加的項目。
權(quán)利要求
1.一種在包括操作系統(tǒng)(115)、在操作系統(tǒng)下執(zhí)行的應(yīng)用(105)、與操作系統(tǒng)和應(yīng)用通信的打印機驅(qū)動器(120)和由打印機驅(qū)動器驅(qū)動的打印機設(shè)備(135)的系統(tǒng)中使用的方法,該方法包括(A)使用與操作系統(tǒng)、應(yīng)用和打印機驅(qū)動器分開的組件(125)來使得信息被顯示給應(yīng)用的用戶,所述信息涉及到由打印機設(shè)備進(jìn)行的打印。
2.權(quán)利要求1的方法,其中所述組件包括使用腳本語言編寫的代碼體,使得該代碼體不必在執(zhí)行之前被編譯。
3.權(quán)利要求1的方法,其中該信息與事件相關(guān),該系統(tǒng)還包括存儲對于事件進(jìn)行登記的組件的指示的儲藏庫,以及(A)包括查詢該儲藏庫,以便確定所述組件對于所述事件是否被登記。
4.權(quán)利要求3的方法,其中所述組件接收來自操作系統(tǒng)、應(yīng)用和打印機驅(qū)動器中的一個的、與該事件相關(guān)的第一信息,并將與該事件相關(guān)的第二信息傳遞到操作系統(tǒng)、應(yīng)用和打印機驅(qū)動器中的另一個。
5.至少一個計算機可讀介質(zhì)(601),具有被編碼在其上的指令,當(dāng)所述指令在包括操作系統(tǒng)(115)、在操作系統(tǒng)下執(zhí)行的應(yīng)用(105)、與操作系統(tǒng)和應(yīng)用通信的打印機驅(qū)動器 (120)和由打印機驅(qū)動器驅(qū)動的打印機設(shè)備(135)的系統(tǒng)中被執(zhí)行時,執(zhí)行一個方法,包括(A)在發(fā)生涉及到由打印機設(shè)備進(jìn)行打印的第一事件后,查詢存儲對于事件進(jìn)行登記的組件的指示的儲藏庫(130),以便識別(410)對于該第一事件進(jìn)行登記的第一組件;以及(B)使用(415)該第一組件來使得信息被顯示給應(yīng)用的用戶,所述信息涉及到由打印機設(shè)備進(jìn)行的打印,該第一組件是與操作系統(tǒng)、應(yīng)用和打印機驅(qū)動器分開的。
6.權(quán)利要求5的至少一個計算機可讀介質(zhì),其中第一事件是由操作系統(tǒng)、應(yīng)用和打印機驅(qū)動器之一所引發(fā)的事件。
7.權(quán)利要求5的至少一個計算機可讀介質(zhì),其中第二信息包括用于該事件的上下文。
8.權(quán)利要求5的至少一個計算機可讀介質(zhì),其中所述信息涉及打印機設(shè)備執(zhí)行的打印或打印機設(shè)備的狀態(tài)。
9.一種系統(tǒng),包括儲藏庫(130),存儲對于事件進(jìn)行登記的組件的指示;以及至少一個處理器(503),被編程來在發(fā)生涉及到由打印機設(shè)備進(jìn)行打印的第一事件后,查詢該儲藏庫,以便識別(410)對于該第一事件進(jìn)行登記的第一組件,該第一組件不形成操作系統(tǒng)、發(fā)起打印的應(yīng)用、或打印機驅(qū)動器的一部分;使用(415)該第一組件來使得信息被顯示給涉及到由打印機設(shè)備進(jìn)行的打印的應(yīng)用的用戶。
10.權(quán)利要求9的系統(tǒng),其中被使得顯示的信息涉及由打印機設(shè)備執(zhí)行的打印或打印機設(shè)備的狀態(tài)。
全文摘要
本發(fā)明的一些實施例提供了被配置成在打印操作期間操控信息對用戶的呈現(xiàn)的打印機用戶接口(UI)組件。打印機UI組件可以使由打印機驅(qū)動器提供的再現(xiàn)和配置功能性與信息對最終用戶的呈現(xiàn)分離,由此減小由于打印機驅(qū)動器出錯而造成應(yīng)用可能崩潰或掛起的風(fēng)險。在一些實施例中,建立信息應(yīng)當(dāng)依據(jù)其被呈現(xiàn)給用戶的事件的登記處,并且打印機UI組件可以對于這些事件中的某些或所有進(jìn)行登記,使得當(dāng)指定的事件發(fā)生時,打印機UI組件可以被調(diào)用來使得信息被呈現(xiàn)給用戶。
文檔編號G06F3/12GK102520895SQ201110414199
公開日2012年6月27日 申請日期2011年12月13日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者D.戴維斯, F.戈爾根伊, J.哈欽斯, 岳峰 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1