用于與輔助計算設備的一致程序交互的接口的制作方法

            文檔序號:6554354閱讀:204來源:國知局

            專利名稱::用于與輔助計算設備的一致程序交互的接口的制作方法
            技術領域
            :本發(fā)明一般涉及計算機系統(tǒng),尤其涉及一種用于在計算機系統(tǒng)與輔助設備之間傳達信息的改進的系統(tǒng)和方法。
            背景技術
            :序號為10/429,930和10/429,932的美國專利申請一般針對具有為主計算機系統(tǒng)提供某個輔助計算功能的輔助處理和輔助機制的計算機系統(tǒng)的概念。例如,即使當主計算機顯示器不容易看得見時(例如,當合上膝上型計算機的蓋子和/或主計算機被斷電時),膝上型計算機的蓋子或側邊上的小型LCD也可以為用戶提供有用信息(例如,會議地點和時間)??梢蕴峁┛丶?例如,諸如采取按鈕形式的一組用戶可選擇的響應或支持的動作),以允許用戶與輔助設備交互,例如,選擇對通知的響應,查看不同類型的數(shù)據(jù),滾動通過日歷數(shù)據(jù)中的約會,閱讀電子郵件消息,閱讀指示,等等。有些類似于被置入移動主計算機的輔助LCD屏幕的有移動電話、音樂播放設備、袖珍型個人計算機、個人數(shù)字助理等等,當例如在物理上和/或經(jīng)由無線(例如,“藍牙”或紅外線)鏈路與其耦合時或者在與計算機耦合之后的任何時刻,如果設備持久保存來自計算機的數(shù)據(jù),并且只要設備被編程為允許主計算機利用其顯示器和/或其他功能,它們的每一個就可以用作主計算機系統(tǒng)的輔助設備。一般而言,實際上可以用任何方法與計算機系統(tǒng)接口的具有I/O能力的任何設備可以潛在地用作輔助計算設備。但是,盡管可能有可以用作計算機系統(tǒng)的輔助顯示器的眾多不同的設備,但當前沒有現(xiàn)存的平臺或API(應用程序編程接口)供主計算機系統(tǒng)上的程序與輔助顯示器交互?,F(xiàn)存的系統(tǒng)要么被關閉,由此,ISV(獨立軟件銷售商)不能擴展平臺的功能;要么沒有被明確設計成用于與輔助顯示器的普通交互類型,因而用起來既不簡易、又不一致。需要一種供運行于主計算機系統(tǒng)上的程序簡單地、一致地與各種類型的輔助顯示器交互的方法,而不管各種設備實現(xiàn)之間的差異如何。應用程序不應該被要求處理每個設備的特定性能,但如果需要的話,應該能夠詢問設備性能,以便在每個設備上顯示定制信息。
            發(fā)明內(nèi)容簡言之,本發(fā)明提供一種系統(tǒng)和方法,包含包括接口集的輔助顯示平臺,它提供一種簡明、一致的方法供客戶機應用程序(即在主計算機系統(tǒng)上運行的程序)與各種類型的輔助顯示器交互,而不管各種設備實現(xiàn)之間的差異如何,也無須處理每個設備的特定性能(除非需要)。該交互包括顯示從客戶機應用程序發(fā)送的信息,包括將要被呈現(xiàn)在設備上的任何達成一致意見的格式的數(shù)據(jù)、通知或內(nèi)容;設備也可以將事件或數(shù)據(jù)發(fā)送到客戶機應用程序。用戶可以配置在哪些設備上顯示哪些客戶機應用程序的數(shù)據(jù)。該體系結構經(jīng)由輔助顯示器API集向客戶機應用程序展示輔助設備,該輔助顯示器API集在一個示例性實現(xiàn)中采取COM(組件對象模型)接口的形式。API集允許獨立于設備上的固件和連接協(xié)議而按普通的方式向客戶機應用程序展示各種類型的設備。該API集指定提供各種功能,包括向系統(tǒng)注冊客戶機應用程序,為一個或多個附加設備發(fā)送通知,以及從一個或多個附加設備接收事件或數(shù)據(jù)。事件可以包括導航事件、內(nèi)容請求事件、內(nèi)容更改事件等。一般而言,客戶機應用程序?qū)?nèi)容和通知發(fā)送到輔助設備,在那里,輔助設備應用程序高速緩存和/或呈現(xiàn)該內(nèi)容。根據(jù)XML模式來描述將鼓勵大多數(shù)設備和應用程序支持的簡單內(nèi)容格式。該API集對于通過它發(fā)送的內(nèi)容而言是不可知的。所以,該API集也支持將自定義數(shù)據(jù)發(fā)送到消耗該數(shù)據(jù)的自定義端點,其中,端點指定通信目的地(例如,特定的輔助設備應用程序)和關于該數(shù)據(jù)的合約(例如,格式)。輔助設備也能夠顯示客戶機應用程序發(fā)送的通知(例如,在特殊區(qū)域內(nèi)或在其他內(nèi)容上面),并且能夠根據(jù)從主計算機系統(tǒng)提供的數(shù)據(jù)來生成其自己的通知。該API集還便于從輔助設備返回事件和數(shù)據(jù)。在一項實現(xiàn)中,用包括COM接口集的代碼(例如,非受管C++代碼)來實現(xiàn)客戶機API集。客戶機應用程序在其進程中創(chuàng)建這些對象/接口中的一個或多個對象/接口的實例,然后使用那些對象來與輔助顯示平臺進行通信。注冊對象(例如,AuxiliaryDisplayRegistrar(輔助顯示器注冊))實現(xiàn)接口(例如,IAuxiliaryDisplayRegistrar),由此,客戶機應用程序?qū)⒈旧碜詾楫斍斑\行。AuxiliaryDisplayRegistrar類維護與API接口使用的設備相對應的接口指針的列表。AuxiliaryDisplayRegistrar類也接收指出“何時從該系統(tǒng)中添加或移除設備”的設備事件,并適當?shù)馗缕浔镜亓斜?,以及通知可能會受到變化影響的任何現(xiàn)存客戶機。AuxiliaryDisplayRegistrar類也負責執(zhí)行應用程序和設備許可檢驗,以確定是否授權客戶機應用程序使用該設備。通知管理器對象實現(xiàn)接口(例如,IAuxiliaryDisplayNotificationManager(輔助顯示器通知管理器接口)),由此,客戶機應用程序可以請求和撤回附加設備上的通知。AuxiliaryDisplayRegistrar對象在客戶機應用程序提出通知注冊請求(例如,經(jīng)由RegisterNotifications(注冊通知)方法)時例示通知管理器對象,并讓通知管理器對象了解(例如,向其提供指針)為通知啟用的每個設備,并將指向IAuxiliaryDisplayNotificationManager接口的指針返回給請求客戶機應用程序。當應用程序使用該接口來請求顯示通知時,通知管理器對象經(jīng)由回叫從客戶機應用程序中拉出通知信息(例如,標題、消息、圖標/圖像數(shù)據(jù)和截止時間),并將通知發(fā)送到被授權供那個客戶機應用程序使用的設備。對于內(nèi)容,響應于來自客戶機應用程序的Register(注冊)方法調(diào)用,AuxiliaryDisplayRegistrar類創(chuàng)建內(nèi)容管理器對象(例如,實現(xiàn)IAuxiliaryDisplayContentManager(輔助顯示器內(nèi)容管理器)接口的對象)。該內(nèi)容管理器對象利用在注冊期間傳遞的(客戶機應用程序的)應用程序ID和端點ID(數(shù)據(jù)應該去的地方)來初始化,并為接口提供供客戶機應用程序用來添加內(nèi)容、移除特殊內(nèi)容、或移除所有內(nèi)容的方法。該接口包括Add(添加)方法,它詢問客戶機應用程序,以獲得關于適用于該調(diào)用的部分屬性的值;然后,根據(jù)結果,迭代通過設備,向客戶機應用程序請求內(nèi)容,并將該內(nèi)容向下發(fā)送到設備。應用程序可以指定將單個內(nèi)容發(fā)送到其所有被授權的設備;或者它們可以指定不同的內(nèi)容(例如,為設備的性能定制的內(nèi)容)可以個別地被發(fā)送到其不同的設備中的每個設備。移除調(diào)用試圖從每個設備中移除一個特定內(nèi)容。內(nèi)容由應用程序范圍內(nèi)唯一的持久唯一標識符來標識。對于事件,另一個方法處理設立事件宿,從而允許客戶機應用程序傳遞用于事件通知的接口指針。事件可以包括關于設備添加和移除或連接和斷開的事件通知(包括由應用程序/設備授權中的變化生成的事件通知)、響應于對于連接設備的屬性的查詢的事件、關于按鍵的通知事件、以及當輔助設備需要它當前不可用(在高速緩存中或其他地方)的一個內(nèi)容時所生成的內(nèi)容-請求事件。輔助設備上的應用程序也能夠生成諸如設備導航事件、選擇事件和與上下文菜單動作有關的事件等事件。其他事件可以是占先的,例如,預期需要數(shù)據(jù)。事件的特定語義和內(nèi)容由端點(例如,設備應用程序)來定義,但是,一般而言,事件標識它來自那里的設備、它來自那里的設備應用程序/端點、以及伴隨它的數(shù)據(jù)。通過以下結合附圖的詳細說明,其他優(yōu)點將變得一目了然。在這些附圖中圖1是框圖,表示本發(fā)明可以被并入其中的常規(guī)個人計算機系統(tǒng)的形式的通用計算設備;圖2A-2E是通常表示各種設備上的輔助顯示器的布置位置的示例性圖示;圖3是根據(jù)本發(fā)明的一個方面的、通常表示示例分層體系結構的框圖,通過該范例分層體系結構,客戶機應用程序可以與任意輔助顯示設備的固件交換數(shù)據(jù);圖4是根據(jù)本發(fā)明的各個方面的、用于與輔助顯示設備進行通信的過程中的各種組件的示例表示;圖5是根據(jù)本發(fā)明的一個方面的、用于允許應用程序與基本輔助顯示設備交換數(shù)據(jù)的基于安裝或基于執(zhí)行的機制的示例表示;圖6是根據(jù)本發(fā)明的一個方面的端點的示例表示,通過這些端點,輔助知曉客戶機應用程序與各種輔助顯示設備應用程序交換數(shù)據(jù);圖7是根據(jù)本發(fā)明的一個方面的、通常表示API集的對象的框圖,客戶機應用程序調(diào)用該API集的對象來與輔助顯示設備的固件交換數(shù)據(jù);圖8是根據(jù)本發(fā)明的一個方面的順序圖,它通常表示客戶機應用程序與API對象之間的注冊、調(diào)用和回叫,以便從應用程序獲得內(nèi)容,用于傳達給一個或多個輔助顯示設備;以及圖9是根據(jù)本發(fā)明的一個方面的順序圖,它通常表示客戶機應用程序與API對象之間的注冊、調(diào)用和回叫,以便從應用程序獲得通知數(shù)據(jù),用于傳達給一個或多個輔助顯示設備。具體實施例方式示例性操作環(huán)境圖1是框圖,表示本發(fā)明可以被并入其中的個人計算機系統(tǒng)的形式的計算設備120。本領域的技術人員將會理解圖1中所描繪的個人計算機系統(tǒng)120意在僅僅起說明的作用,并且,本發(fā)明可以利用包括手持設備、多處理器系統(tǒng)、基于微處理器的或可編程的消費者電子設備、網(wǎng)絡PC、小型計算機、大型計算機、無頭服務器等的其他計算機系統(tǒng)配置來加以實踐。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程記憶存儲設備中。個人計算機系統(tǒng)120包括處理單元121、系統(tǒng)存儲器122和系統(tǒng)總線123,系統(tǒng)總線123將包括該系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元121。系統(tǒng)總線123可以是幾種類型的總線結構中的任一種,包括存儲總線或存儲控制器、外圍總線、以及使用各種總線體系結構中的任一種的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM)124和隨機存取存儲器(RAM)125?;据斎?輸出系統(tǒng)126(BIOS)被存儲在ROM124中,該基本輸入/輸出系統(tǒng)包含有助于在計算機120內(nèi)的各個元件之間傳送信息(例如,在啟動期間)的基本例程。個人計算機120可以進一步包括用于從硬盤(未示出)讀取并對其寫入的硬盤驅(qū)動器127、用于從可移動磁盤129讀取或?qū)ζ鋵懭氲拇疟P驅(qū)動器128、以及用于從可移動光盤131(例如,CD-ROM或其他光學介質(zhì))讀取或?qū)ζ鋵懭氲墓獗P驅(qū)動器130。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別由硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器接口134連接到系統(tǒng)總線123。這些驅(qū)動器及其關聯(lián)的計算機可讀介質(zhì)為計算機120提供計算機可讀指令、數(shù)據(jù)結構、程序模塊和其他數(shù)據(jù)的非易失性存儲。雖然這里所描述的示例性計算機系統(tǒng)使用硬盤、可移動磁盤129和可移動光盤131,但是,本領域的技術人員應該理解也可以在示例性計算機系統(tǒng)中使用可以存儲可由計算機存取的數(shù)據(jù)的其他類型的計算機可讀介質(zhì),例如,盒式磁帶、閃存卡、數(shù)字視頻光盤、伯努里式磁帶匣、隨機存取存儲器(RAM)、只讀存儲器(ROM)等。許多程序模塊可以被存儲在硬盤、磁盤129、光盤131、ROM124或RAM125上,包括操作系統(tǒng)135(例如,WindowsXP)、一個或多個應用程序136(例如,MicrosoftOutlook)、其他程序模塊137和程序數(shù)據(jù)138。用戶可以通過輸入設備(例如,鍵盤140和定點設備142)來將命令和信息輸入個人計算機120。其他輸入設備(未示出)可以包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀等等。這些和其他的輸入設備經(jīng)常通過被耦合到系統(tǒng)總線的串行端口接口146而被連接到處理單元121,但也可由其他接口(例如,并行端口、游戲端口或通用串行總線(USB))來連接。監(jiān)視器147或其他類型的顯示設備也經(jīng)由接口(例如,視頻適配器148)而被連接到系統(tǒng)總線123。除監(jiān)視器147以外,個人計算機還通常包括諸如揚聲器和打印機等其他外圍輸出設備(未示出)。輔助顯示器200是額外的輸出設備,并且例如可以經(jīng)由輔助顯示器接口155而被連接到系統(tǒng)總線123。輔助顯示器101也可以通過串行接口或通過其他接口(例如,并行端口、游戲端口、紅外線或無線連接、通用串行總線(USB)或其他外圍設備連接)連接到計算設備120。圖1中的輸入設備201可以提供一個或多個致動器,以便與輔助顯示器200連接和/或控制輔助顯示器200,并且,例如可以是該輔助顯示設備的一部分,但作為選擇,可以獨立于它,并經(jīng)由輸入設備接口156(可以是串行接口)或通過其他接口(例如,并行端口、游戲端口、紅外線或無線連接、通用串行總線(USB)或其他外圍設備連接)而被連接到系統(tǒng)總線123。個人計算機120可以使用與一臺或多臺遠程計算機(例如,遠程計算機149)的邏輯連接而在網(wǎng)絡化環(huán)境中進行操作。遠程計算機149可以是另一臺個人計算機、服務器、路由器、網(wǎng)絡PC、對等設備或其他常見的網(wǎng)絡節(jié)點,它通常包括以上相對于個人計算機120而描述的許多或所有元件,盡管圖1中只展示了記憶存儲設備150。圖1中所描繪的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。這類網(wǎng)絡環(huán)境在辦公室、企業(yè)范圍的計算機網(wǎng)絡、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很普遍。當被用于LAN網(wǎng)絡環(huán)境中時,個人計算機120通過網(wǎng)絡接口或適配器153而被連接到局域網(wǎng)151。當被用于WAN網(wǎng)絡環(huán)境中時,個人計算機120通常包括調(diào)制解調(diào)器154或用于通過廣域網(wǎng)152(例如,因特網(wǎng))建立通信的其他裝置。調(diào)制解調(diào)器154(可以是內(nèi)置的,也可以是外置的)經(jīng)由串行端口接口146而被連接到系統(tǒng)總線123。在網(wǎng)絡化環(huán)境中,相對于個人計算機120或其各個部分而描繪的程序模塊可以被存儲在遠程記憶存儲設備中。將會理解所示的這些網(wǎng)絡連接起示例性的作用,可以使用在計算機之間建立通信鏈路的其他手段。應該注意,計算機系統(tǒng)不需要完全操作以供輔助設備根據(jù)本發(fā)明運作。的確,當計算機被斷電時,例如,當計算機系統(tǒng)處于睡眠狀態(tài)或休止模式時,和/或當用戶還沒有登錄或經(jīng)由安全機制被關在系統(tǒng)以外時,輔助設備至少在默認程度上或在用戶配置的程度上仍然可以運作。當主顯示器被關閉或不可操作(例如,被斷開)時,輔助設備可以對主顯示器進行補充,也可以用作代替顯示器,以便為用戶提供一些信息。例如,諸如如何為主顯示器加電的信息可能會有幫助,如同與移動計算機連接的輔助顯示設備上的會議房間號碼和/或指示一樣,當主顯示器關閉和/或不容易看得見(例如,膝上型計算機的蓋子被關閉)時,用戶可以查看該信息。輔助設備可以播放音頻和/或視頻,顯示圖像,顯示日歷信息,顯示電子郵件等等。為了在這些斷電模式中啟用和控制通信,固件可以存在,被存儲在非易失性存儲器中,只要某個電源可用,當被次級處理器裝載和操作時,固件啟用輔助顯示器以及要被使用的其他輔助組件。注意,如這里所使用的,術語“固件”和“設備硬件”本質(zhì)上是等效的,并且通??梢员徽J為表示輔助存儲器、其中的代碼和/或它在其上運行的次級處理器。圖2A-2E分別示出了計算設備上的或與計算設備相關聯(lián)的關于輔助顯示屏幕200a-200e的布置的示例性位置。如圖2A和2B中所示的,輔助顯示屏幕200a可以被放置在獨立(陸上通訊線或移動)電話202的前面、后面或其他表面上,(如果諸如經(jīng)由藍牙技術等別的方式連接,則它不需要在物理上耦合)和/或另一個輔助顯示屏幕200b可以被放置在移動計算機204或圖形輸入板計算設備(未示出)的邊緣或蓋子上。關于輔助顯示屏幕200c(圖2C)的另一個地方可以是在安裝于計算機上的電話上或在連在計算機上的外圍設備上(例如,在監(jiān)視器206上或在鍵盤(未示出)上)。圖2D和2E分別示出了與計算機連接的獨立控制臺208或某個其他的外殼210(例如,主板的外殼)的面板上的輔助顯示屏幕200d和200e的額外布置。本領域的技術人員將會理解輔助顯示屏幕可以被放置在任何計算設備或具有顯示性能的其他設備的任何表面上——例如,被放置在具有與計算機的無線或其他連接的手表上、被放置在遠程控制設備上、被放置在遠程壁裝式單元上等等。的確,輔助顯示器不需要在物理上接近主計算機系統(tǒng),因為連接可以在LAN或WAN上或甚至在因特網(wǎng)上。從圖2A-2E中應該明白,輔助顯示器可以采取任何數(shù)量的已知類型的顯示器的形式(例如,一個或多個LED、2行字母數(shù)字顯示器、單色顯示器或彩色顯示器)。本領域的技術人員將會理解本發(fā)明也可以將其他計算或通信設備的顯示器用作輔助顯示器200。這些其他計算或通信設備包括通用計算機、手機、以及諸如尋呼機或個人數(shù)字助理(PDA)等手持設備。此外,本發(fā)明可以將在計算設備120的屏幕上的顯示區(qū)域內(nèi)實現(xiàn)的虛擬輔助顯示器(例如,圖形用戶界面的屏幕保護程序或組件)用作輔助顯示器200,包括在用戶登錄之前。輔助顯示器200可以包括上述任何形式的組合,也可以在物理上或在邏輯上與諸如一個或多個LED等指示器組合和/或結合虛擬輔助顯示器來使用。即使在沒有屏幕的條件下,或當其屏幕被斷電時,輔助設備也可以提供功能。例如,輔助設備可以播放音頻、收集數(shù)據(jù)(例如,供以后下載到主計算機)、執(zhí)行計算等等。顯示器也可以包括一個或多個LED或類似物,而不是全屏幕。這樣,雖然許多好處和優(yōu)點起因于具有輔助顯示屏幕,并且因而輔助設備在這里可以被稱作“輔助顯示器”,但是,不需要顯示器。一般而言,如這里提到的,輔助顯示器本質(zhì)上可以由能夠被感知的任何事物組成,包括任何視覺、聽覺和/或觸覺表示。用于與輔助設備的程序交互的接口本發(fā)明一般針對與輔助設備的通信,例如,提供內(nèi)容、通知和其他信息供顯示在輔助設備上,并可能從該設備獲得返回信息(例如,基于與輔助設備的用戶交互的事件)。如將會理解的,有許多類型的設備可以用作輔助顯示設備,包括不一定具有顯示器但可以提供諸如聲音或光的某個輸出的設備。雖然這里使用許多例子,包括膝上型計算機蓋子、移動電話、袖珍個人計算機、基于數(shù)字圖像的圖片幀、廚房顯示器、電視機、媒體播放器、包括鬧鐘、手表等的時鐘上的顯示器,但是,本發(fā)明不局限于這些例子的任一個,而是預期運用能夠輸出感覺信息的任何設備,即使是被稱作輔助“顯示器”。例如,其他類型的設備包括被嵌入或使用消費者電子設備(例如,電冰箱、家庭影劇院接收器、DVD播放器等)的主顯示器、壁掛式顯示器、汽車、運輸或其他車輛裝置(例如,將汽車/火車/飛機中的顯示器用作輔助顯示器)、主計算機系統(tǒng)的鍵盤或其他輸入設備、PDA(包括非移動電話PDA)等的輔助設備。同樣,本發(fā)明不局限于用于將輔助設備耦合到另一個計算機系統(tǒng)的任何特定機制,因而不局限于這里所使用的有線或無線例子。連接可以相對接近或相對遙遠,本質(zhì)上可以在任何地方,例如,在LAN或WAN上、或在因特網(wǎng)上的虛擬專用連接上。參考附圖中的圖3,示出一示例體系結構,它經(jīng)由輔助顯示器API集304向包括應用程序302和其他程序(例如,操作系統(tǒng)組件)的客戶機展示輔助設備300和/或301。在以下描述的一個示例性實現(xiàn)中,API集304采取C++可存取COMAPI的形式。API304提供關于各種功能的API,包括向系統(tǒng)注冊客戶機應用程序306(程序的組件或可能是程序本身),向附加設備發(fā)送內(nèi)容,向附加設備發(fā)送通知,以及從附加設備接收事件。事件可以包括導航事件、內(nèi)容請求事件、內(nèi)容更改事件等。與以下所描述的本發(fā)明的各個方面相一致,API集304的運用只向使用API集304的客戶機展示“輔助顯示系統(tǒng)”;對單獨的設備的其他(非API)訪問是可行的,但不是必要的。結果,對于獨立軟件銷售商,在將程序組件注冊為客戶機應用程序(經(jīng)由API集304)之后,可以使用對同一API集304的另一個調(diào)用來將內(nèi)容發(fā)送到任何輔助設備,而不管該設備的實際類型和性能如何。雖然用戶體驗可能不同,但是,應用程序不需要適應存在的輔助設備。注意,應用程序也可以獲得關于輔助設備的性能信息,并且可以根據(jù)性能來選擇采取不同的動作,但該應用程序不需要為了使用該設備而這樣做。這是因為本發(fā)明提供處理進一步的通信的體系結構,從而從包括使數(shù)據(jù)適應任何特定設備的復雜任務中釋放該應用程序。API層304被寫在便攜式設備API集310上,便攜式設備API集310經(jīng)由用戶模式驅(qū)動程序框架312與該設備的驅(qū)動程序進程進行通信。便攜式設備API集310啟用與諸如MP3播放器、數(shù)碼照相機等便攜式設備的連接,并由輔助顯示器來利用。便攜式設備API集310將輔助顯示器映射到便攜式設備種類,并且它允許列舉該設備的性能。一般而言,客戶機應用程序306將內(nèi)容和通知發(fā)送到輔助設備。該設備能夠顯示通知,并能夠根據(jù)從主計算機系統(tǒng)提供的數(shù)據(jù)來生成其自己的通知。該設備將信息以事件形式提供回給客戶機應用程序306。注意,應用層下面以及設備驅(qū)動程序324和325上面的組件通??梢员环Q作“輔助顯示平臺”。在圖4通常所示的一項實現(xiàn)中,平臺利用現(xiàn)存組件,包括便攜式設備API集310和“用戶模式驅(qū)動程序框架”(也被稱作UWDF的UMDF、或用戶模式Windows設備框架)、供用戶模式驅(qū)動程序在其中運行的沙箱環(huán)境,以提供與輔助顯示設備進行通信的統(tǒng)一方法。與本發(fā)明相一致,獨立于設備上的固件和連接協(xié)議,按普通方式展示各種類型的設備。返回到圖3中所示的框圖,多個設備可以同時被耦合到計算機,以用作輔助顯示器。用戶可以配置(例如,經(jīng)由控制面板或類似物)哪些客戶機應用程序的數(shù)據(jù)被顯示在哪些設備上。系統(tǒng)數(shù)據(jù)供應者308也可以將諸如時間數(shù)據(jù)、無線信號強度數(shù)據(jù)、計算機的音頻音量和無聲狀態(tài)、和/或電池電平數(shù)據(jù)等系統(tǒng)信息提供給輔助顯示器。在一項實現(xiàn)中,只要客戶機應用程序306發(fā)送內(nèi)容,輔助顯示平臺都咨詢系統(tǒng)維護的矩陣,以確定哪個或哪些設備將要接收該信息。輔助顯示平臺的API304也將事件(和可能的其他信息)從輔助設備發(fā)送到客戶機應用程序306,從而再次使用該矩陣來適當?shù)貙⑦@些事件發(fā)送回到這個(或這些)應用程序。某些類型的輔助設備(例如,圖3中的顯示器301)被認為是“增強型”顯示器,因為它們利用某個SPOT(智能個人對象技術)固件和某個呈現(xiàn)代碼來配置,并且尤其通常與可以經(jīng)由API304接收的任何信息相兼容。這里被稱作“基本”顯示器的其他輔助設備包括運行其他自定義固件、但能夠擔當輔助顯示器(例如,圖3中的基本遠程輔助(蜂窩式電話聽筒)顯示器300)的任何輔助顯示設備。用戶模式驅(qū)動程序框架提供用于將設備驅(qū)動程序(例如,324和325)耦合到輔助顯示平臺的設備驅(qū)動程序接口(DDI)。然后,這些驅(qū)動器將與API接收信息相對應的數(shù)據(jù)轉發(fā)到適當?shù)挠布涌?傳輸),用于到輔助顯示設備的通信。例如,在圖3中,基本設備驅(qū)動程序324被示為(經(jīng)由先前定義的協(xié)議)將數(shù)據(jù)轉發(fā)到遠程堆棧和驅(qū)動程序327,用于到設備300的無線(例如,藍牙、Wi-FI、AM/FM紅外線等)通信,而增強型設備驅(qū)動器325被示為將數(shù)據(jù)轉發(fā)到基于USB的硬件328,盡管包括網(wǎng)絡傳輸(例如,基于TCP/IP的傳輸),但其他類型的傳輸是可行的。如可理解的,這些連接只是出于舉例目的而被示出,因為任何設備驅(qū)動程序?qū)⑦m當?shù)剞D發(fā)關于無線或有線通信的數(shù)據(jù)。本發(fā)明的一個方面針對允許對輔助顯示平臺的計劃性訪問的公用API集304??蛻魴CAPI集304支持對該平臺的訪問,并且如下所述,提供用于安裝和注冊、內(nèi)容管理(包括發(fā)送數(shù)據(jù))、通知管理、性能詢問、以及事件發(fā)生的機制。客戶機應用程序發(fā)送到設備的內(nèi)容取決于向它注冊的端點。如上所述,大多數(shù)設備將會支持的一個類格式是簡單內(nèi)容格式,例如,基于描述布局原語的XML模式,該布局原語為ISV提供靈活性來開發(fā)跨越具有變化的顯示性能的多種不同的設備而運作的客戶機應用程序。例如,簡單內(nèi)容格式可以支持包括圖像和文本的內(nèi)容頁、包括可以被選為動作的可滾動項目列表的菜單頁、包括用戶界面對話框和選項的對話、以及上下文菜單(例如,用戶可以通過其來調(diào)用上下文敏感動作)??蛻魴CAPI集304也支持發(fā)送自定義數(shù)據(jù)到消耗該數(shù)據(jù)的自定義端點,其中,端點指定通信目的地(例如,特定的輔助設備應用程序)和關于該數(shù)據(jù)的合約(例如,格式)。API集304進一步便于返回來自輔助設備的事件和被發(fā)送到輔助設備的通知。根據(jù)本發(fā)明的一個方面,通過允許ISV以可以被呈現(xiàn)在任何輔助顯示器上的格式提供內(nèi)容,來提供用于擴展輔助顯示平臺的機制。為此目的,客戶機API304為輔助顯示平臺提供ISV用來擴展其應用程序的框架。如下所述,一旦客戶機應用程序向該平臺注冊,API集304就提供該機制,以便將內(nèi)容推入設備并響應于來自設備的事件。參考圖5,在其最初安裝在主計算機系統(tǒng)上的期間,客戶機應用程序306可以注冊本身。如圖5中標注為一(1)的箭頭所表示的,為此,當安裝應用程序306時,安裝相關數(shù)據(jù)538被寫入注冊表540。對于輔助顯示功能,安裝包括在應用程序的正規(guī)安裝過程期間,寫入指定的輔助顯示相關注冊表鍵集。應用程序此刻指定包括其標題、圖標和被支持的端點的一些重要的值。例如,主注冊表鍵可以是[HKCUHKLM]\Software\Microsoft\Windows\AuxiliaryDisplay\Applications\<ApllicationID>,且參考采取唯一地識別特定客戶機應用程序(并且也表示實現(xiàn)用于生存期管理的IauxiliaryDisplayApplication接口的COM對象的CLSID)的GUID的形式的應用程序ID;友好名包括描述客戶機應用程序的名稱的人可讀文本串;圖標表示客戶機應用程序(例如,用于顯示在控制面板中和設備的外殼程序中),它最有可能被存儲為文件名和資源ID;并且,端點ID的優(yōu)先級列表包括這個客戶機應用程序向其發(fā)送數(shù)據(jù)的設備應用程序??梢詮娭茖嵤┳畲筇柎a,并且可以用數(shù)字標注端點(端點0、端點1),以便優(yōu)先級清楚明了。也要注意,策略(例如,來自系統(tǒng)管理員)可以駁回應用程序根據(jù)輔助顯示器而請求的任何事物,例如,可以防止應用程序使用設備。輔助顯示應用程序的安裝過程使客戶機應用程序在輔助顯示控制面板上可用,供用戶在設備上啟用。為此,當發(fā)生安裝時,可以向用戶示出通知;在圖5中,這由標注為二-A(2A)的箭頭來表示,在那里,與注冊表相關聯(lián)的代碼542(例如,注冊表編輯器代碼)經(jīng)由通知544向用戶界面546指出關于新近安裝的客戶機應用程序的信息548可用。然后,用戶能夠調(diào)用控制面板窗550或類似物來允許用戶選擇一個或多個輔助設備連接到該客戶機應用程序,即,在用戶的一個或多個輔助顯示設備中的任何一個輔助顯示設備上啟用該客戶機應用程序306,圖5中通過標注為三(3)的箭頭表示了這一點。注意,通知544可以提供指令、鏈接或類似的信息來協(xié)助用戶選擇控制面板窗口中的正確圖標,以啟用用于輔助顯示的應用程序。如上所述,為了便于選擇,可以提供復選框表格(許可表格)或類似物,以允許用戶選擇利用其啟用該新安裝的客戶機應用程序306的一個或多個輔助設備。容易理解,用戶也能夠使用控制面板或類似的機制來啟用先前已被安裝、但未被啟用的應用程序,禁用先前啟用的應用程序,更改在其上啟用應用程序的一個或多個設備等等。這樣,在圖5中,當客戶機應用程序執(zhí)行時,它可能被啟用或可能不被啟用以用于一個或多個輔助設備,但如果不被啟用,則在被執(zhí)行時可能能夠這樣做。例如,在運行的應用程序的注冊請求552期間,(以下參照圖7和圖8描述),如果還沒有被啟用,則注冊代碼554可以發(fā)送通知544。此時,用戶能夠決定是否為一個或多個輔助設備啟用應用程序。用戶也可以決定在應用程序正在運行的同時為一個或多個輔助設備啟用或禁用應用程序;對客戶機應用程序的這些更改將分別作為“設備添加”和“設備移除”事件而出現(xiàn)。注意,在所描述的實現(xiàn)中,用戶(或更高級策略)總是控制哪些應用程序被允許向哪些設備發(fā)送內(nèi)容。雖然自動啟用是可行的,但是,從安全立場出發(fā),它是不合需要的,因此,在這個示例實現(xiàn)中,沒有計劃性方法可允許客戶機應用程序在安裝過程期間利用輔助設備進行操作。一旦被啟用,客戶機應用程序306就可以訪問平臺來向用戶授權的設備注冊,并且其后為這些經(jīng)授權的設備提供內(nèi)容。以下參照圖7-9來描述注冊和通信。與本發(fā)明的各個方面相一致,客戶機應用程序不必處理設備的管理,因為這項工作由平臺來照料。相反,如下所述,客戶機應用程序可以使用API集304(圖3)來發(fā)送內(nèi)容和通知。注意,客戶機應用程序可以在支持高速緩存的設備上高速緩存數(shù)據(jù),例如允許離線訪問,由此,用戶能夠瀏覽已被應用程序高速緩存在設備上的內(nèi)容。注意,在一項實現(xiàn)中,由于安全原因,應用程序可以發(fā)送、但無法獲得被高速緩存在輔助設備上的內(nèi)容,并且,如下所述,相反只可以從輔助設備接收事件。但是,直截了當?shù)姆椒ㄊ翘峁┮环N系統(tǒng),其中,應用程序可以讀取被高速緩存在輔助設備上的內(nèi)容。取代高速緩存(或除高速緩存以外),當用戶請求它時,應用程序也可以按要求提供其內(nèi)容。在經(jīng)要求的情形中,當用戶經(jīng)由輔助顯示器與客戶機應用程序交互時,平臺從應用程序請求要顯示的內(nèi)容,經(jīng)由API集304接收它,并將內(nèi)容發(fā)送到設備。當主計算機系統(tǒng)在線時,平臺也可以為應用程序提供事件,以便應用程序知道用戶正在做什么,例如,應用程序接收對應于與輔助設備的用戶交互命令的事件。經(jīng)由API集和用于傳達內(nèi)容的簡單內(nèi)容格式,平臺移除了客戶機應用程序具備關于通常在設備上呈現(xiàn)數(shù)據(jù)所需要的各種類型的設備、其固件、通信信道和驅(qū)動程序的特殊知識的需求。利用這個方法,該設計允許ISV避免處理設備管理和電信協(xié)議的細節(jié)。這樣,包括API集的平臺體系結構允許ISV將內(nèi)容提供給被連接的輔助顯示設備,特別是支持簡單內(nèi)容格式的輔助顯示設備,這允許客戶機應用程序提供能夠被呈現(xiàn)在任何服從設備上的數(shù)據(jù)。如下所述,這個格式指定基本文本和圖像布局、以及菜單和對話。倘若ISV選擇定制內(nèi)容(例如,根據(jù)顏色支持來提供不同的內(nèi)容),平臺也展示設備性能。而且,設備不只可以支持簡單內(nèi)容格式,并且,例如可以支持關于日歷(例如,vCalendar)的額外端點(被擴展的數(shù)據(jù)格式)、聯(lián)系人信息(例如,vCard)、或設備可以理解的任何其他格式。設備支持的數(shù)據(jù)格式只受設備限制;在主計算機系統(tǒng)上運行的客戶機應用程序可以使用任何互相理解的數(shù)據(jù)格式來運用輔助顯示平臺與輔助顯示器進行通信。概括而言,輔助顯示器API集304(圖3)允許在主計算機系統(tǒng)上運行的經(jīng)授權的客戶機應用程序發(fā)送內(nèi)容和通知,用于在輔助顯示設備上呈現(xiàn)數(shù)據(jù)。平臺提供設備連接和管理,并且,系統(tǒng)控制面板指定輔助顯示設置的用戶控制。API允許應用程序向設備發(fā)送內(nèi)容和通知,并從設備接收事件。這個體系結構允許不同等級的擴展性,包括平臺和API集使ISV應用程序不必理解每個輔助顯示設備的特殊屬性。只有當被請求的時候,才展示設備性能。另外,輔助顯示平臺是連接不可知的,這體現(xiàn)在只要適當?shù)挠脩裟J捷o助顯示傳輸驅(qū)動程序存在,它與如何連接輔助顯示器的應用程序不相關,這本質(zhì)上可以經(jīng)由包括未來協(xié)議的任何連接和/或協(xié)議(例如,USB、藍牙、TCP/IP等)。如上所述,客戶機應用程序使用所謂的端點來與設備進行通信。端點指定通信目的地(例如,日歷設備應用程序)和關于在應用程序與端點之間傳遞的數(shù)據(jù)的合約(例如,vCalendar格式)。在這個模型中,應用程序指定它們可以與其進行通信的端點,而設備指定它們支持的端點。然后,由支持相同端點的設備與應用程序之間的平臺建立通信。當與設備進行通信時,端點由主計算機系統(tǒng)所使用的唯一標識符(例如,GUID)來表示。設備上的每個設備應用程序可以通告可從主計算機系統(tǒng)接受數(shù)據(jù)的一個或多個端點。端點被認為是跨越設備而一致的眾所周知的項目。端點指定被用來自和至主計算機系統(tǒng)傳達數(shù)據(jù)的數(shù)據(jù)格式;客戶機應用程序負責適當?shù)貫樗c其通信的端點而格式化數(shù)據(jù),作為端點合約的一部分。端點的例子包括簡單內(nèi)容呈現(xiàn)器(數(shù)據(jù)格式是簡單內(nèi)容格式)、日歷呈現(xiàn)器(數(shù)據(jù)格式是iCal)和通知引擎。圖6示出了包括個人信息管理器(PIM)應用程序670、媒體應用應用程序672和電話應用應用程序674的不同的示例客戶機應用程序如何可以與包括增強型顯示器676和移動電話678的示例設備進行通信。應用程序提供關于端點的數(shù)據(jù),并且,平臺使用該端點來確定將該數(shù)據(jù)傳達給哪個或哪些設備。這樣,在圖6的例子中,如經(jīng)由方框682和683所表示的,PIM應用程序670指定日歷端點數(shù)據(jù)680,由增強型顯示器676作為該數(shù)據(jù)的副本681來消耗,增強型顯示器676也消耗來自媒體應用程序672的普通端點數(shù)據(jù)。如經(jīng)由方框682、684和685所表示的,移動電話678消耗來自PIM應用程序670和應用程序672的普通數(shù)據(jù)。如經(jīng)由方框686和687所表示的,移動電話678也消耗電話端點數(shù)據(jù)。雖然在圖4的例子中未示出,但是,可以被支持的端點的其他例子包括電子郵件和聯(lián)系人數(shù)據(jù)。雖然對于本發(fā)明而言是不必要的,但是,可以為特殊內(nèi)容保留某些內(nèi)容標識符。例如,在每個客戶機應用程序的內(nèi)容ID名字空間中保留最高級應用程序“掃視(glance)”信息(作為內(nèi)容ID“0”元數(shù)據(jù)),以表示將要被顯示為關于那個應用程序的最高級掃視信息的數(shù)據(jù)。掃視信息通常是簡明數(shù)據(jù),它被應用程序認為非常重要,可用于顯示在設備的主菜單上(盡管用于單行顯示,這可能是被顯示的唯一內(nèi)容)。例如,對于電子郵件呈現(xiàn)器,最高級應用程序掃視信息可能是“7個未讀的消息”;而對于日歷應用程序,最高級應用程序掃視信息可以描述下一次約會的時間和地點。API強制實施掃視信息格式化是可行的,例如,數(shù)據(jù)可能需要被提供為將要被接受的統(tǒng)一碼(Unicode)零終止字符串。在一項實現(xiàn)中,如圖7中通常所表示的,在包括COM接口集的非受管代碼中實現(xiàn)公用客戶機API集304??蛻魴C應用程序在其過程中創(chuàng)建對象/接口中的一個或多個對象/接口的實例,然后使用那些對象與輔助顯示平臺進行通信。圖7表現(xiàn)了示出它們實現(xiàn)的主要類和接口的一般體系結構圖;注意,每個COM對象也提供IUnknown(未知)接口,為清楚起見而從圖7中省略它。配置管理器760包括用于處理設備和應用程序配置信息的共享內(nèi)部組件。CRegistrar(注冊者)類(對象)762實現(xiàn)IAuxiliaryDisplayRegistrar(輔助顯示器注冊者)接口、以及AuxiliaryDisplayRegistrarCoClass(聯(lián)合類)。CRegistrar類762保持與API實例使用的設備相對應的IPortableDevice(便攜式設備)接口指針列表。這個列表在Register或RegisterNotifications(注冊通知)調(diào)用上被填充,并可以在任何時候被添加和移除。CRegistrar類762監(jiān)聽PnP設備事件764,以確定何時從該系統(tǒng)添加/移除設備,并且適當?shù)馗缕浔镜亓斜恚⑼ㄖ艿皆撟兓绊懙娜魏维F(xiàn)存的客戶機(CNotificationManager(通知管理器)或CContentManager(內(nèi)容管理器)對象)。CRegistrar類762也負責應用程序和設備許可檢驗,以確定是否授權應用程序使用設備,從而將共享的配置管理器庫用作進入該數(shù)據(jù)的接口。維護例示的對象(CNotificationManager或CContentManager)的列表;當對本身和CRegistrar的所有引用離開時(即,當API被卸載時),這些對象只是離開。CNotificationManager類/對象766實現(xiàn)IAuxiliaryDisplayNotificationManager(輔助顯示器通知管理器)接口。當創(chuàng)建CNotificationManager類766時,應用程序標識符(ID)與實例相關聯(lián),并且,它沒有被更改。例示CNotificationManager對象766的CRegistrar對象762傳入與為通知而啟用的每個設備相對應的一個IPortableDeviceContent(便攜式設備內(nèi)容)指針。在對象的整個生存期內(nèi),由來自CRegistrar對象762的類似的方法調(diào)用來實現(xiàn)對這個設備列表的隨后的更改。可能存儲有內(nèi)部元數(shù)據(jù),以便在顯示通知時跟蹤被提供回給調(diào)用應用程序的cookies。CNotificationManager類/對象766負責采用IauxiliaryDisplayNotification(輔助顯示器通知)對象、提取數(shù)據(jù)、并使用便攜式設備API310的IPortableDeviceContent接口將它發(fā)送到每個設備。由于跨越各個設備而一致地對待通知,因此,可以為每個已知的設備重復相同的操作。Cnotification(通知)類768是數(shù)據(jù)容器。它實現(xiàn)IAuxiliaryDisplayNotification接口、以及AuxiliaryDisplayNotificationCoClass(所以,客戶機可以共同創(chuàng)建實例)。CContentManager類/對象770實現(xiàn)IAuxiliaryDisplayContentManager(輔助顯示器內(nèi)容管理器)接口。它由CRegistrar類762響應于Register方法調(diào)用來創(chuàng)建。CContentManager類/對象770需要利用被傳遞到Register的應用程序ID和端點ID來初始化,并且,這些一旦被設置,就不被更改。CRegistrar對象762負責咨詢配置表格,以確定為特定的應用程序/端點對啟用哪些設備。然后,它向CContentManager傳遞關于每個匹配設備的IPortableDeviceContent接口指針。隨后的設備添加/移除將使用相同的機制來向CContentManager對象770傳達變化。此外,關于存儲在本地的每個設備接口,CContentManager對象770存儲對應的CDeviceCapabilities(設備性能)對象772(或IAuxiliaryDisplayCapabilities(輔助顯示器性能)接口)。這是預期對這個對象的頻繁需求的優(yōu)化。在CContentManager對象770中提供方法,用于添加內(nèi)容、移除特殊內(nèi)容、或移除全部內(nèi)容。為此,Add(添加)方法調(diào)用詢問引入的IAuxiliaryDisplayContent接口,以獲得關于可應用于該調(diào)用的部分屬性的值;然后,根據(jù)結果,迭代通過設備,向客戶機應用程序請求內(nèi)容,并將內(nèi)容向下發(fā)送到設備。Remove(移除)調(diào)用試圖從每個設備中移除一個特定內(nèi)容。另一個方法處理設立事件宿;由客戶機應用程序傳入的IAuxiliaryDisplayEvents(輔助顯示器事件)接口指針被存儲,并被用于通知關于各種事件的應用程序。響應于從CRegistrar對象762進入的事件,來觸發(fā)設備事件。CContentManager類770可以實現(xiàn)IPortableDeviceEventCallback(便攜式設備事件回叫)接口,并且,CRegistrar對象762可以為事件注冊;然后,CContentManager762負責適當?shù)胤治龊臀赡切┦录DeviceCapabilities類772實現(xiàn)IAuxiliaryDisplayCapabilities接口。這些由CContentManager對象770創(chuàng)建,以便與它在其上顯示內(nèi)容的每個設備相符。在內(nèi)部,它引用IPortableDeviceProperties(便攜式設備屬性)接口,所以,它能夠直接從設備詢問設備屬性。設備性能可以包括設備是否具有高速緩存、屏幕類型(例如,位圖、文本或單行顯示)、屏幕寬度、屏幕高度、顏色深度、顏色類型(例如,彩色、灰度級、黑白)等。圖8描述了應用程序306如何與CRegistrar和CContentManager對象(分別是圖7中的762和770)一起運作以便將內(nèi)容加入設備。一般而言,當想要使用輔助顯示器的客戶機應用程序304在主計算機系統(tǒng)上啟動時,(或在某個其他適當?shù)臅r間),應用程序經(jīng)由對CRegistrar對象762的注冊請求來向輔助顯示平臺注冊。成功的注冊將內(nèi)容管理接口的實例(例如,作為指針)返回到應用程序。通常在圖8中經(jīng)由標注為一(1)和二(2)的箭頭來表示這一點。為了將內(nèi)容加入設備,應用程序304實現(xiàn)的平臺可以用來獲取關于內(nèi)容和內(nèi)容主體的元數(shù)據(jù)的接口。這是拉出模型,在那里,平臺從應用程序中拉出數(shù)據(jù)。如圖8中通常經(jīng)由標注為三(3)的箭頭所表示的,為了添加內(nèi)容,應用程序通過調(diào)用CContentManager對象770上的方法、將指針傳遞到封裝內(nèi)容的對象,來起動該程序。然后,CContentManager對象770回叫入該封裝對象,以便檢索內(nèi)容并將它發(fā)送到被連接的設備。一些設備可以高速緩存數(shù)據(jù),而其他設備可能不會高速緩存數(shù)據(jù)(例如,由于沒有高速緩存、存儲器條件低等);這樣,應用程序可以經(jīng)由事件來被通知,以再發(fā)送數(shù)據(jù)。每個內(nèi)容具有唯一的ID(在應用程序的范圍內(nèi)),并且,設備和平臺通過這個ID來參考這個內(nèi)容。通常在圖8中經(jīng)由標注為四(4)和五(5)的箭頭來表示這些操作。當應用程序添加數(shù)據(jù)時,應用程序可能正將該數(shù)據(jù)發(fā)送到多個設備。由于不同的設備具有不同的特征,因此,在一些情況中,應用程序可以決定專門研究每一設備的內(nèi)容。如通常在圖8中經(jīng)由標注為六(6)和七(7)的箭頭所表示的,這在內(nèi)容元數(shù)據(jù)中指定。如果應用程序指定它有興趣被所有設備的平臺為內(nèi)容而調(diào)用一次,那么,該應用程序例如經(jīng)由真/假數(shù)據(jù),即經(jīng)由“假”響應,指定不想要每一設備調(diào)用。當指定關于全部的內(nèi)容(假)時,標注為八-A(8A)和九-A(9A)的箭頭示出這些操作。作為選擇,當應用程序想要個別地為每個設備而被回叫(“真”響應)以便根據(jù)設備特征來提供內(nèi)容時,標注為八-B(8B)和九-B(9B)的箭頭示出這些操作。當發(fā)生這種情況時,為每個設備重復請求和獲得內(nèi)容過程(例如,標注為十(10)和十一(11)的箭頭),為每個設備授權應用程序來發(fā)送內(nèi)容。如圖4中所表示的,可以提供生存期管理器434,來監(jiān)聽客戶機應用程序和設備的激活狀態(tài)中的變化,并通知客戶機應用程序。通過在不同的過程中共同創(chuàng)建注冊類,然后利用適當?shù)膮?shù)來調(diào)用Startup(啟動)方法,可以起動客戶機應用程序。應用程序可以實現(xiàn)API集,該API集提供關于輔助顯示應用程序的生存期相關功能。平臺的組件負責根據(jù)被連接的設備集來開始和停止應用程序。作為選擇,應用程序可以管理其自己的生存期;當設備被連接或斷開時,應用程序獲得通知,并且,當它沒有設備要向其提供內(nèi)容時,應用程序經(jīng)??赡苷谶\行。如圖4中所表示的,由生存期管理器434來起動客戶機過程(除非已在運行)??蛻魴C過程負責與管理客戶機應用程序及其在設備上的內(nèi)容相關聯(lián)的邏輯,并且是主計算機系統(tǒng)對運行于輔助顯示設備上的設備應用程序的相對物。如上所述,客戶機代碼306通過向平臺注冊來啟動與輔助顯示平臺的通信。這個調(diào)用將輔助顯示客戶機API以及便攜式設備API裝載入客戶機進程的地址空間。便攜式設備API跨越進程邊界處理與連接到輔助顯示設備的驅(qū)動程序的通信。驅(qū)動程序進程由用戶模式驅(qū)動程序框架進程創(chuàng)建。驅(qū)動程序展示與便攜式設備API進行通信的設備驅(qū)動程序接口??蛻魴CAPI將不會直接與這些進程交互。當安裝客戶機應用程序時,它指定作為GUID的應用程序Id。這個應用程序Id應該是實現(xiàn)IAuxiliaryDisplayApplication(輔助顯示器應用程序)接口的COM組件的CLSID。生存期管理器434使用應用程序Id來共同創(chuàng)建客戶機應用程序的進程外(out-of-proc)COM服務器實例。它調(diào)用IAuxiliaryDisplayApplication接口上的方法,從而指出客戶機應用程序何時具有至少1個設備來對話(啟動)、以及何時沒有設備來對話(關閉)。另外,為了在面對應用程序崩潰時具有健壯性,可以使用“心跳”方法來檢驗應用程序是否仍然在運行。注意,應該由ISV在其自己的進程中共同創(chuàng)建IAuxiliaryDisplayRegistrar的實例,以便與API集304進行通信。這個途徑允許應用程序彼此隔離,同時,保留在應用程序的進程中運行API的好處。應用程序可以支持多個內(nèi)容格式,但是,客戶機API(IAuxiliaryDisplayContentManager)的每個實例只支持單一內(nèi)容格式。如上所述,當安裝應用程序時,它提供它支持的端點優(yōu)先級排序列表。在內(nèi)部,在設備展示端點與應用程序較佳端點之間進行映射,以獲得關于設備的內(nèi)容格式的最佳匹配?;旧?,通過向下觀察該列表直到發(fā)現(xiàn)匹配,在可用時選擇最高優(yōu)先級內(nèi)容格式。如果應用程序與設備之間有任何共同的端點,則控制面板示出復選框。但是,客戶機API確定在運行時使用的實際端點,因為該列表可以改變。客戶機應用程序為它支持的每個端點調(diào)用IAuxiliaryDisplayRegistrar∷Register一次;應用程序為每個內(nèi)容格式獲得一個IAuxiliaryDisplayContentManager接口。在一項當前的實現(xiàn)中,每個設備只從這些接口中的至多一個接口接收內(nèi)容。這樣,應用程序可以具有一個中央數(shù)據(jù)源,從而與多個API接口對話,這多個API接口與多個設備對話,其中的每個設備支持不同的內(nèi)容格式。這個途徑保持API內(nèi)的隔離,這使它用起來易懂、簡單,同時,允許ISV按直觀方式支持多個內(nèi)容格式。在控制面板中,每個應用程序可以作為單行出現(xiàn),而不管它支持多少內(nèi)容格式。轉向可以被應用程序發(fā)送到輔助設備的通知的解釋,平臺支持輔助顯示器上的通知(或警報)的顯示。例如,可以發(fā)送關于諸如會議提示、電子郵件警報、密友登錄、系統(tǒng)警報等重要事件的通知,用于顯示在輔助設備上。在一項實現(xiàn)中,通知通常實時地出現(xiàn)在任何現(xiàn)存的設備應用程序之上,并為用戶提供解散它們的方法(在自動期滿之前)。被發(fā)送到輔助顯示平臺的通知可以包含標題、消息主體和圖標,并與截止時間相關聯(lián)。該截止時間(例如,絕對或相對時間)為設備提供以下指導如果用戶還沒有與它交互,則它何時可以移除通知。從應用程序306的觀點出發(fā),而不管設備性能如何,通知通??梢允褂猛煌ㄖ狝PI。這樣,諸如圖像、圖標、控件(例如,按鈕)、菜單等標題、文本和可任選信息可以被指定為參數(shù)。不能制圖的設備將具有被剝奪除文本以外的任何東西的信息,甚至文本也可以被修改成適合特定設備顯示,例如通過隨時間的推移而交替行。注意,內(nèi)容通??梢员幌螺d到增強型設備上的高速緩存,或經(jīng)要求而被下載,并且,設備本身隨后將按需要處理該內(nèi)容。這允許在該系統(tǒng)上運行能夠提供內(nèi)容的多個客戶機應用程序,一個設備應用程序在某時運行于輔助顯示器上。通知將故意利用當前運行的設備應用程序。通知可以被安排用于按任何合適的排序呈現(xiàn)(例如,按FIFO(先進先出)方式),雖然可以容易地理解這一點,但是,在各種類型的通知之中可能有不同的優(yōu)先級(例如,與常見的或老的通知相比,可以給緊急的、新近的或做標記的通知更高的優(yōu)先級)。圖9描述了客戶機應用程序306如何與CRegistrar對象762和CNotificationManager對象766一起運作以便將通知發(fā)送到一個或多個設備。一般而言,當應用程序304想要發(fā)送通知給輔助顯示器時,該應用程序經(jīng)由對CRegistrar對象762的RegisterNotifications請求來注冊通知。成功的注冊將CNotificationManager對象766的實例(例如,作為指針)返回到應用程序。通常在圖9中經(jīng)由標注為一(1)和二(2)的箭頭來表示這一點。如通常在圖8中經(jīng)由標注為三(3)的箭頭所表示的,應用程序306通過調(diào)用CNotificationManager對象766上的方法來啟動該程序。如通常在圖9中經(jīng)由標注為四(4)和五(5)的箭頭所表示的,CNotificationManager對象766隨后回叫到應用程序304(或如在圖7中由應用程序指定的CNotification對象768),以獲得關于通知的標識符。如通常在圖9中經(jīng)由標注為六(6)至十一(11)的箭頭所表示的,然后作出關于標題、消息(文本)、圖標/圖像和截止時間的隨后的回叫。如通常在圖9中經(jīng)由標注為十二(12)的箭頭所表示的,利用該信息,CNotificationManager對象766將通知發(fā)送到一個或多個被連接的設備。在一項當前的實現(xiàn)中,授權應用程序與其通信的每個設備接收通知,但是,具有一種選擇性機制是可行的,在該機制中,客戶機應用程序可以有選擇地指定只有其經(jīng)授權的設備中的某些設備可接收通知。具有這樣一種機制也是可行的,在該機制中,以不同方式格式化的通知信息被發(fā)送到不同類型的設備(類似于通常參照圖8描述的每一設備內(nèi)容區(qū)別機制)。除發(fā)送通知以外,應用程序同樣可以請求撤回通知或撤回其所有通知。例如,用戶可以解散主計算機系統(tǒng)上的通知,并且,應用程序可以決定應該從一個或多個輔助設備那里撤回通知。對于事件,應用程序可以指定用于從平臺接收各種類型的事件的接口。根據(jù)控制面板配置表格或類似物,平臺將與設備有關的事件發(fā)送到被適當授權的應用程序。事件可以包括關于設備添加和移除或連接和斷開的事件通知(包括無線越界、設備崩潰)、以及響應于關于被連接設備的屬性(例如,屏幕大小、顏色深淺度、數(shù)據(jù)高速緩存的存在等)的詢問的事件。事件發(fā)生機制也指定關于按鍵的通知事件,并擴展到自定義端點。當輔助設備需要它不容易獲得的一個內(nèi)容時,也生成內(nèi)容-請求事件。輔助設備上的應用程序也能夠生成諸如設備導航事件(例如,內(nèi)容丟失、需要刷新等等)、選擇事件(用戶在對話中按壓按鈕、選擇顯示圖標、解散通知等等)、以及上下文菜單動作等事件。其他事件可能是占先的,例如,播放音頻應用程序的音軌七的設備可以預期需要音軌八的數(shù)據(jù),并預先發(fā)送關于該數(shù)據(jù)的請求。輔助設備應用程序生成的事件傳播回到在主計算機系統(tǒng)上運行的客戶機應用程序(當在線時)。事件的語義和內(nèi)容由端點來定義。一般而言,事件標識它來自那里的設備、它來自那里的設備應用程序/端點、以及伴隨事件的數(shù)據(jù)。例如(使用簡單內(nèi)容格式端點),當用戶從一個內(nèi)容行進到另一個內(nèi)容時,導航事件被發(fā)送回到主計算機系統(tǒng),以報告用戶做了什么。應用程序可以選擇按合適的方式響應于這個事件。接口和概述以下陳述在整個API集內(nèi)使用的公用類型的定義以下包含關于輔助顯示平臺的接口定義文件的一個例子(這些接口在以上描述,并通常在以下概括)IAuxiliaryDisplayApplication接口被生存期管理器用來創(chuàng)建客戶機應用程序并與其交互。如果它們希望使用生存期管理,則ISV負責在其客戶機應用程序中實現(xiàn)這個接口。調(diào)用HRESULTStartup(REFAPPLICATION_ID_in_applicationId)方法,來用信號通知客戶機應用程序應該開始與設備進行通信。它指定有一個或多個設備是給定的應用程序能夠向其發(fā)送數(shù)據(jù)的。第一個參數(shù)是將要被起動的應用程序的應用程序ID,并且被包括在同一COM對象處理關于多個應用程序的數(shù)據(jù)的情況中。調(diào)用HRESULTShutdown(REFAPPLICATION_ID_in_applicationId)方法,來用信號通知客戶機應用程序應該停止與設備通信。在Shutdown(關閉)調(diào)用之后,生存期管理器釋放對客戶機應用程序的引用,并且(合乎理想的是)應用程序停歇。HRESULTKeepAlive(REFAPPLICATION_ID_in_applicationId)方法被用作“心跳”。生存期管理器偶爾將會調(diào)用它,并期望接收S_OK響應。如果調(diào)用(例如,遠程過程調(diào)用或RPC)超時,或者調(diào)用由于某個其他的原因而失敗,那么,將重新起動應用程序。如上所述,IAuxiliaryDisplayRegistrar接口被ISV的客戶機應用程序用來啟動與輔助顯示子系統(tǒng)的“會話”。ISV的應用程序共同創(chuàng)建這個類的實例,并且調(diào)用Register方法來獲得它隨后可以用來為設備提供內(nèi)容的IAuxiliaryDisplayContentManager接口。被返回的接口在客戶機應用程序的生存期內(nèi)有效。設備可以在后臺來來去去,由平臺執(zhí)行管理。如上所述,是API內(nèi)部構件確定是否授權應用程序與設備對話;如果沒有授權應用程序與設備對話,那么,在一項實現(xiàn)中,接口仍然被返回,但是,它將不會向任何設備發(fā)送數(shù)據(jù)(并且,GetDevices返回0)。HRESULTRegister(REFAPPLICATION_ID_in_applicationId,REFENDPOINT_IDin_endpointId,IAuxiliaryDisplayContentManager**out_pContent)方法向輔助顯示子系統(tǒng)注冊ISV的應用程序,并允許客戶機應用程序向設備發(fā)送內(nèi)容。第一個參數(shù)是應用程序ID,它唯一地標識例如由GUID表示的應用程序。第二個參數(shù)是GUID,表示應用程序希望與其通信的設備上的端點。提供這個,以便ISV的應用程序可以支持多個端點(內(nèi)容格式),因為每個端點對應于單一類型的內(nèi)容。注意,ISV的應用程序為它希望發(fā)送的每個內(nèi)容格式使用不同的IAuxiliaryDisplayContentManager接口。第三個參數(shù)是輸出參數(shù),包含ISV應用程序用來發(fā)送內(nèi)容的接口。HRESULTRegisterNotifications(REFAPPLICATION_ID_in_applicationId,IAuxiliaryDisplayNotificationManager**out_pNotification)方法允許ISV應用程序?qū)⒈旧碜詾閷⑼ㄖ峁┙o輔助顯示器的應用程序。ISV應用程序提供其應用程序ID,并取回對CNotificationManager對象766的IAuxiliaryDisplayNotificationManager接口的指針,它隨后被用來管理子系統(tǒng)中的通知。IAuxiliaryDisplayNotificationManager接口允許ISV應用程序在輔助顯示器上顯示和隱藏通知。HRESULTShow(IAuxiliaryDisplayNotification*in_pNotification)方法使通知被顯示在支持通知的被連接的經(jīng)授權的輔助設備上。該參數(shù)是實現(xiàn)IAuxiliaryDisplayNotification接口的類的實例。該接口本質(zhì)上包含示出通知所必要的有關的部分。HRESULTRevoke(constNOTIFICATION_IDin_notificationId)方法允許ISV應用程序取消所有適當?shù)脑O備上的單一通知。如上所述,該參數(shù)包括從調(diào)用被返回到Show(顯示)的cookie。如果通知當前正被顯示或正在待決(要么是被延遲的通知,要么被另一個通知阻止),那么,只移除它。HRESULTRevokeAll()方法允許ISV移除所有未決通知。IAuxiliaryDisplayNotification接口提供用于存儲和檢索通知的關鍵部分的方法。[propget]HRESULTNotificationId(PNOTIFICATION_IDin_pnotificationId)和[propput]HRESULTNotificationId(NOTIFICATION_IDin_notificationId)方法允許API/ISV設置/檢索通知ID。默認值是0。該值唯一地標識應用程序內(nèi)的通知。[propget]HRESULTTitle(LPWSTR*out_ppwszTitle)和[propput]HRESULTTitle(LPWSTRin_pwszTitle)方法允許API/ISV設置/檢索通知的當前標題。可能有默認值(例如,“Notifcation”)。[propget]HRESULTMessage(LPWSTR*out_ppwszMessage)和[propput]HRESULTMessage(LPWSTRin_pwszMessage)方法允許API/ISV設置/檢索通知的當前消息主體。這是向用戶顯示的消息的大部分。[propget]HRESULTImage(HICON*out_phIcon)和[propput]HRESULTImage(HICONin_hIcon)方法允許API/ISV設置/檢索被顯示為通知的一部分的圖像。該圖像將根據(jù)設備比例縮放到合適,并可以用標準格式來提供。[propget]HRESULTExpirationTime(PSYSTEMTIMEout_pExpirationTime)和[propput]HRESULTExpirationTime(PSYSTEMTIMEin_pExpirationTime)方法允許API/ISV設置/檢索通知應該到期的時間。默認值是“0”,從而指出通知將永遠不會到期(并且,用戶需要解散它)。在一項實現(xiàn)中,時間被指定為絕對時間;不管通知是否已被顯示,它都將在截止時間自毀。應該由設備或驅(qū)動程序上的固件來適當?shù)貎冬F(xiàn)截止時間。IAuxiliaryDisplayContentManager接口是允許ISV將內(nèi)容發(fā)送到輔助顯示器的接口。這個接口是普通的,并接受被指定用于任何端點的任何類型的內(nèi)容,但是,這個接口的每個特定實例只接受關于單一端點(和因而單一類型)的內(nèi)容。HRESULTAdd(IAuxiliaryDisplayContent*in_pContent)方法允許ISV將內(nèi)容加入它正在其上被顯示的設備的高速緩存。第一個參數(shù)是指向從其中拉出內(nèi)容的ISV所實現(xiàn)的接口的指針。HRESULTRemove(constCONTENT_IDin_contentId)方法允許ISV從任何設備中移除一個特定內(nèi)容。該參數(shù)是將要被移除的內(nèi)容的內(nèi)容ID。如果該項目存在于任何當前被連接的設備的高速緩存中,則將移除它。不保證它在任何設備的高速緩存中,也不保證它用于當前被斷開的設備。HRESULTRemoveAll()方法允許ISV從所有設備上的高速緩存中移除與ISV的應用程序相關聯(lián)的全部內(nèi)容。HRESULTSetEventSink(IAuxiliaryDisplayEvents*in_pEvents)方法允許ISV應用程序指定要使用的回叫接口從設備接收事件。該參數(shù)包含指向?qū)崿F(xiàn)IAuxiliaryDisplayEvents接口的類的實例的指針。如果這個值是“零”或無效,則不執(zhí)行對ISV應用程序的回叫。HRESULTGetDevices(DWORD*out_pdwNumDevices,IAuxiliaryDisplayCapabilities**out_ppDevices)方法允許ISV應用程序列舉已為那個應用程序授權的當前被連接的設備。這個方法將指針叔祖返回到IAuxiliaryDisplayCapabilities對象,這些IAuxiliaryDisplayCapabilities對象提供關于每個經(jīng)授權的設備的性能的一些信息。DWORD參數(shù)包含被返回的設備數(shù)量。應用程序可以使用這個方法來確定應用程序需要多少設備和什么類型的設備來生成內(nèi)容;如果應用程序關心根據(jù)性能來區(qū)別其內(nèi)容,那么,這個方法允許應用程序確定那一點并預先生成適當?shù)膬?nèi)容。作為選擇,這個方法返回計數(shù)器對設備性能的實現(xiàn)是可行的。IAuxiliaryDisplayContent接口由ISV應用程序?qū)崿F(xiàn),并被API用來回叫和從應用程序拉出內(nèi)容。HRESULTGetContent(IAuxiliaryDisplayCapabilities*in_pCapabilities,DWORD*out-pdwSize,BYTE**out_ppbData)方法被API調(diào)用,以便從ISV應用程序中檢索內(nèi)容。調(diào)用這個的方式取決于DifferentiateContent(區(qū)別內(nèi)容)屬性的值;如果應用程序指出它關心設備性能,則每一設備回叫這個方法一次,第一個參數(shù)是指向適當?shù)腎AuxiliaryDisplayCapabilities接口的指針。如果應用程序指出它不關心每一設備性能,那么,這個方法只被調(diào)用一次,并且,第一個參數(shù)是“零”指針。第二個參數(shù)包含用戶將設置成指向其數(shù)據(jù)的字節(jié)指針。第三個參數(shù)是ISV用被返回的內(nèi)容的尺寸填充的輸出指針。ISV應用程序使用CoTaskMenAlloc來分配內(nèi)存,以便從這個方法調(diào)用返回;結果,當完成時,API的責任是釋放數(shù)據(jù)。[propget]HRESULTContentId(PCONTENT_IDout_pcontentId)方法被API調(diào)用,以檢索與實際內(nèi)容相關聯(lián)的內(nèi)容ID。不管ISV應用程序是否根據(jù)設備性能來區(qū)別內(nèi)容,這個方法都被調(diào)用一次。出于可管理的目的而在這個接口上提供它,以便使ISV應用程序更容易地跟蹤與任何特定內(nèi)容相關聯(lián)的內(nèi)容ID。[propget]HRESULTDifferentiateContent(BOOL*out_pfDifferentiateContent)方法被API調(diào)用,以檢索指出ISV應用程序是否希望根據(jù)設備性能來區(qū)別其內(nèi)容的標記。本質(zhì)上,它被用來確定GetContent是每一設備被調(diào)用一次,還是每一所有適當?shù)脑O備被調(diào)用一次。如果值是“真”,則這指出ISV應用程序想要每一設備被回叫一次;如果值是“假”,則它指出ISV想要每一內(nèi)容項目被回叫一次。IAuxiliaryDisplayEvents接口由ISV應用程序?qū)崿F(xiàn),并被API集用來回叫具有事件的應用程序。如果ISV應用程序不關心事件,則它不需要實現(xiàn)這個接口。但是,ISV應用程序?qū)⒆钣锌赡苓@樣做。當某個數(shù)據(jù)在設備上被要求、但不存在時,由設備生成HRESULTContentMissing(constCONTENT_IDin_contentId,IAuxiliaryDisplayContent**outpContent)事件。第一個參數(shù)包含失去的內(nèi)容的內(nèi)容ID,第二個參數(shù)是允許ISV提供那個失去的內(nèi)容的輸出參數(shù)。在內(nèi)部,這被處理,如同當處理第二個參數(shù)時ISV調(diào)用IAuxiliaryDisplayContentManager∷Add一樣;內(nèi)容可以被發(fā)送到所有設備,或只被發(fā)送到具有內(nèi)容請求的設備。注意,ISV應用程序無法確定什么設備生成事件。HRESULTApplicationEvent(IAuxiliaryDisplayCapabilities*in_pCapabilities,constDWORDin_dwEventId,constDWORDin_dwEventSize,constBYTE*in_pbEventData)事件由設備應用程序生成,并包含端點專用事件信息。第一個參數(shù)是描述事件起源于那里的設備的接口指針。第二個參數(shù)是事件ID,它對于那個特定端點而言是唯一的。每個端點可以定義事件ID和相關聯(lián)的數(shù)據(jù)的集合,它可以由ISV應用程序來解釋。例如,可以提供助手對象,以便為來自簡單內(nèi)容格式的應用程序事件解碼。第三個參數(shù)包含事件數(shù)據(jù)的大小,第四個參數(shù)包含指向?qū)嶋H數(shù)據(jù)的指針。HRESULTDeviceAdded(IAuxiliaryDisplayCapabilities*in_pDevice)事件由API生成,并通知ISV應用程序應用程序現(xiàn)在正被顯示在額外的設備上。第一個參數(shù)包含指向那個新設備的性能的指針。注意,這個事件的發(fā)生可以作為用戶經(jīng)由輔助顯示控制面板啟用應用程序的結果,而不只是作為新設備被連接的結果。HRESULTDeviceRemoved(IAuxiliaryDisplayCapabilities*in_pDevice)事件由API生成,并通知ISV應用程序應用程序不再被顯示在設備上。第一個參數(shù)包含指向正被移除的設備的性能的指針。注意,這個事件的發(fā)生可以作為用戶經(jīng)由輔助顯示控制面板禁用應用程序”的結果,而不只是作為設備被移除的結果。IAuxiliaryDisplayCapabilities接口由API實施,并為ISV應用程序提供關于其上正顯示應用程序的各種設備的有用信息。這個接口的目的是提供足夠的信息,以允許ISV應用程序使其內(nèi)容(如果適當?shù)脑?配合不同設備的特定特征。提供公用性能ID(PROPERTYKEYs)的基本集合,但允許IHV可擴展性。HRESULTGetCapability(REFPROPERTYKEYin_pkeyCapability,PROPVARIANT*out_pvarData)方法提供用于詢問設備性能的普通機制。第一個參數(shù)是表示要獲得的性能的PROPERTYKEY。第二個參數(shù)是指向適當初始化的PROPVARIANT的指針。被返回的數(shù)據(jù)的類型取決于與那個特定屬性關聯(lián)的類型。調(diào)用者的責任是釋放最后得到的數(shù)據(jù)。結論從前述內(nèi)容中可見,本發(fā)明提供一種包括接口集的輔助顯示平臺,通過該接口集,客戶機應用程序可以簡單地、一致地與各種輔助顯示器交互,而不管各種設備實施之間的差異如何。該交互包括顯示從客戶機應用程序發(fā)送的信息,包括將要被高速緩存或呈現(xiàn)在設備上的內(nèi)容和通知;設備也可以將事件和數(shù)據(jù)發(fā)送到應用程序。為了提供信息并接收事件,客戶機應用程序不需要處理每個設備的特定性能,但如果需要的話,可以詢問設備性能,以便在每個設備上顯示定制的信息。這樣,本發(fā)明提供了當代計算中所需要的眾多好處和優(yōu)點。本發(fā)明容許各種修改和選擇性構造,但其某些說明性實施例在附圖中示出并在以上加以詳細描述。但是,應該理解并不意在將本發(fā)明局限于所揭示的一個或多個具體形式,而相反,意在包括處于本發(fā)明的精神和范圍以內(nèi)的所有修改、選擇性構造和等效技術方案。權利要求1.在具有主計算機系統(tǒng)和與其耦合的至少一個輔助設備的計算環(huán)境中的一種方法,包括提供抽象層,通過所述抽象層,所述主計算機系統(tǒng)上的客戶機應用程序可以提供用于獨立于任何特定設備實現(xiàn)而發(fā)送到一個或多個輔助設備的信息;以及在所述抽象層接收針對將信息從客戶機應用程序發(fā)送到輔助設備的請求,并且作為響應,根據(jù)每個設備的特定設備實現(xiàn)來將所述應用程序所提供的信息發(fā)送到至少一個設備。2.如權利要求1所述的方法,其特征在于,所述要發(fā)送的信息對應于內(nèi)容,并且其中,發(fā)送所述信息包括以設備無關格式從所述客戶機應用程序中拉出所述信息。3.如權利要求1所述的方法,其特征在于,所述抽象層包括對象的API集,其中,所述對象中的一個包括內(nèi)容管理器對象,并且其中,接收所述請求包括在被提供給所述應用程序的內(nèi)容管理器對象的接口處接收調(diào)用,并回叫到所述應用程序,以獲得所述要發(fā)送的信息。4.如權利要求1所述的方法,其特征在于,所述要發(fā)送的信息對應于通知,并且其中,發(fā)送所述信息包括以設備無關格式從所述客戶機應用程序中拉出所述信息。5.如權利要求1所述的方法,其特征在于,所述抽象層包括對象的API集,其中,所述對象中的一個包括通知管理器對象,并且其中,接收所述請求包括在被提供給所述應用程序的通知管理器對象的接口處接收調(diào)用,并回叫到所述應用程序,以獲得所述要發(fā)送的通知相關信息。6.如權利要求1所述的方法,其特征在于,還包括在注冊調(diào)用期間,從客戶機應用程序接收指定的端點。7.如權利要求6所述的方法,其特征在于,還包括響應于所述注冊調(diào)用而評估是否授權所述客戶機應用程序使用所指定的端點來向設備發(fā)送信息。8.至少一個具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當所述指令被執(zhí)行時,實現(xiàn)如權利要求1所述的方法。9.在具有主計算機系統(tǒng)和與其耦合的輔助設備的計算環(huán)境中的一種系統(tǒng),包括所述主計算機系統(tǒng)上的輔助平臺,所述輔助平臺包括客戶機API集,所述客戶機API集包括注冊對象,它從運行于所述主計算機系統(tǒng)上的客戶機應用程序接收調(diào)用,所述調(diào)用標識所述應用程序并請求將內(nèi)容發(fā)送到輔助設備的端點,所述注冊對象被配置成例示內(nèi)容管理器對象,并響應于所述調(diào)用,將指向所述內(nèi)容管理器對象的指針返回到所述應用程序;以及所述內(nèi)容管理器對象被配置成響應于來自所述應用程序的調(diào)用從所述應用程序獲得內(nèi)容,并將所述應用程序所提供的內(nèi)容傳達給所述端點。10.如權利要求9所述的系統(tǒng),其特征在于,所述注冊對象評估是否授權所述客戶機應用程序使用所指定的端點來向設備發(fā)送信息。11.如權利要求9所述的系統(tǒng),其特征在于,還包括通知管理器對象,所述通知管理器對象由所述注冊對象響應于來自所述客戶機應用程序的、針對在輔助顯示設備上顯示通知的注冊請求而例示,所述通知管理器對象被配置成響應于來自所述應用程序的調(diào)用而從所述應用程序獲得通知數(shù)據(jù),并將所述應用程序所提供的通知數(shù)據(jù)傳達給所述端點。12.如權利要求10所述的系統(tǒng),其特征在于,所述通知數(shù)據(jù)包括包含標題、消息、圖像數(shù)據(jù)和截止時間的集合中的數(shù)據(jù)的至少一個項。13.如權利要求9所述的系統(tǒng),其特征在于,所述客戶機應用程序根據(jù)對應于所述端點的合約來向所述輔助設備傳達內(nèi)容,并且其中,所述內(nèi)容管理器不與所述內(nèi)容交互。14.如權利要求9所述的系統(tǒng),其特征在于,從所述應用程序獲得的內(nèi)容是由對于所述應用程序唯一的內(nèi)容標識符來標識的。15.如權利要求9所述的系統(tǒng),其特征在于,還包括另一客戶機應用程序,其中,所述客戶機API集相對于輔助設備通信將所述客戶機應用程序彼此隔離。16.如權利要求9所述的系統(tǒng),其特征在于,還包括另一端點,其中,所述客戶機應用程序根據(jù)單獨的合約來向每個端點傳達內(nèi)容,每個合約對應于每個端點。17.如權利要求16所述的系統(tǒng),其特征在于,所述端點對應于不同的輔助設備上的不同程序。18.如權利要求9所述的系統(tǒng),其特征在于,還包括生存期管理器,所述生存期管理器將生存期相關通知提供給與所述輔助設備的操作狀態(tài)相對應的客戶機管理器。19.在具有主計算機系統(tǒng)和與其耦合的至少一個輔助設備的計算環(huán)境中的一種系統(tǒng),包括接口,通過所述接口,所述主計算機系統(tǒng)上的客戶機應用程序可以提供用于獨立于任何特定設備實現(xiàn)而發(fā)送到一個或多個輔助設備的信息;用于經(jīng)由所述接口注冊用于將內(nèi)容或通知從客戶機應用程序發(fā)送到輔助設備的客戶應用程序的裝置;用于獲得所述客戶機應用程序所提供的信息的裝置,所述信息對應于所述內(nèi)容或通知;以及,用于將所述信息發(fā)送到至少一個輔助設備的裝置。20.如權利要求19所述的系統(tǒng),其特征在于,還包括用于經(jīng)由所述接口注冊用于從輔助設備接收事件的客戶機應用程序的裝置、用于從輔助設備接收事件的裝置、以及用于將事件傳播到客戶機應用程序的裝置。全文摘要描述了一種包括具有接口(API)集的輔助顯示平臺的系統(tǒng)和方法,該接口(API)集提供一種方法,供運行于主計算機系統(tǒng)上的客戶機應用程序與各種類型的輔助顯示器交互,而不管各種設備實現(xiàn)之間的差異如何。交互包括顯示應用程序所提供的內(nèi)容和通知,以及將事件返回到應用程序。在一項實現(xiàn)中,API集包括COM對象集,該COM對象集注冊和執(zhí)行客戶機應用程序的配置檢驗,將內(nèi)容和通知發(fā)送到附加設備,并返回來自這些附加設備的事件。應用程序可以將數(shù)據(jù)發(fā)送到與通信目的地(例如,特定的輔助設備應用程序)和關于該數(shù)據(jù)的合約(例如,格式)相對應的端點。這樣,平臺和API集提供關于應用程序的抽象層,以便獨立于任何特定的輔助設備實現(xiàn)來提供信息。文檔編號G06F9/44GK1818860SQ20061000460公開日2006年8月16日申請日期2006年1月28日優(yōu)先權日2005年2月7日發(fā)明者A·J·富勒,D·J·波利維,M·P·羅特恩,M·S·伯恩斯坦,S·維基申請人:微軟公司
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品