新四季網

用於不受支持的設備的即插即用功能的製作方法

2023-05-06 06:50:16

專利名稱:用於不受支持的設備的即插即用功能的製作方法
相關申請本實用新型專利申請,依據美國專利法第119(e)條第35款,要求2004年5月14日提交的號碼為60/571,271的美國臨時專利申請的權益,在這裡引用其全文內容作為參考。
背景技術:
過去的十年中,在零售商消費設備方面幾乎沒有什麼改進。現在,安裝零售設備的經過與即插即用功能出現之前在PC上安裝設備是相似的。通常,當試圖安裝該設備時,網卡、數據機、滑鼠,以及其它網卡之間會出現設備埠衝突的問題。時常,零售商必須「打開機箱,找到設備,並且改變跳線設置」或者執行一些類似的非用戶友好的操作。安裝這些設備是困難並且費時的。
發明概述簡裝的說,本發明旨在為不受作業系統支持的設備提供即插即用(PnP)的功能。
根據本發明的一個方面,當安裝一個不受支持的設備時,它會被作業系統檢測到。響應於這種安裝操作,作業系統將該事件發送給駐留在用戶模式中的設備管理應用程式。一旦接收到該安裝事件,該設備管理應用程式確定添加進來的設備並自動安裝支持配置入口和軟體。例如,該設備管理應用程式會自動更新註冊表並為該設備安裝支持二進位代碼。當設備安裝完畢後,在不需要改變任何程序設計的情況下,通過一種應用程式就可以對該設備進行訪問。
根據本發明的另一方面,通過一個公共控制庫(CCL)將PnP事件公開給零售應用程式。該庫旨在為訪問該設備提供通用接口。通過使用CCL,註冊的應用程式可以接收與該設備相關聯的事件。
根據本發明的又一方面,CCL用來對在內核的用戶模式下操作的零售設備進行控制,其中該用戶模式是與內核模式相反的。


圖1示出的是一個操作環境;圖2示出的是PnP零售系統的通用系統框圖;
圖3示出的是該PnP系統的高層結構圖;圖4示出的是該PnP系統與CCL之間的交互;圖5示出的是集成有該PnP零售系統的遺產(legacy)設備的結構;圖6示出的是示意性的幫助類和服務對象(SO)資料庫;圖7示出的是集成的示意性顯示,用於提供關於接入到系統中的POS設備的信息;以及圖8示出的是根據本發明諸多方面的已安裝的POS設備上的性屏幕快照。
優選實施例的詳細說明本發明旨在讓系統不支持的零售設備的用戶象其它設備的用戶那樣獲得「即插即用」般的感受。當安裝一個不受支持的設備時,作業系統發送一個事件,如一個PnP事件,給在用戶模式下操作的設備管理應用程式,該模式允許應用程式通過一個公共控制庫(CCL)訪問該設備。該CCL庫旨在顯著簡化用於不受支持的設備的應用程式和服務對象的編寫,提高產品的兼容性和質量,並降低成本。
根據本發明的一個實施例,遵循在統一服務終端(UPOS)V1.8規範中定義的零售設備分類法。UPOS V1.8規範可以從國家零售聯合會的網站上(www.nrf-arts.org)獲得。UPOS支持的一些零售設備包括碰撞條;現金兌換機;現金出票機;信用卡認證終端;投幣自動售貨機;財務印表機;硬體核對機;鍵鎖;條形碼掃描器;音調指示器;動作檢測器;線路顯示器;磁性墨水字符識別讀取器;磁條讀取器;個人身份號碼簿;點卡;POS鍵盤;POS印表機;遠程訂單顯示器;稅率表籤名識別器;以及支票圖像掃描儀。本發明不限於支持的零售設備。任何沒有包括在作業系統的支持的PnP設備列表中的設備都能夠得到支持。
貫穿於整個規範,除非上下文中明確的作出其它指示,下列術語的定義如下。術語「OPOS」指的是銷售或服務終端的對象連結和嵌入(Ole)。術語「「UPOS」指的是用於銷售或服務終端的統一規範。術語「POS類外設」或「OPOS設備」指的是落入到UPOS V1.8規範中定義的24種不同設備分類中之一的設備的集合。術語「設備類」是POS設備的一個類別,共享屬性,方法,以及事件的相容組。例子是現金出票機和POS印表機。一些設備支持多於一種設備類。例如,某些POS印表機包括一個現金出票機。術語「控制對象(CO)」指的是一個對象,它將該組屬性,方法,以及事件公開給一個用於指定設備類的應用程式。術語「服務對象(SO)」指的是一個對象,它由一個CO來調用,並為一個指定設備執行UPOS指定的功能。SO能夠在CLR支持的任何語言環境下執行,包括本地代碼。術語「不支持的設備」或「非支持設備」指的是在預設條件下,不受基礎作業系統支持的任何設備。
示例性操作環境以下參照如圖1所示,一個用來執行本發明的示意性系統包括一個計算設備,如計算設備100。在一個非常基本的配置中,計算設備100典型的包括至少一個處理單元102和系統內存104。取決於計算設備的精確配置和類型,系統內存可以是易失性的(如RAM),非易失性的(如ROM,快閃記憶體等等)或二者的一些組合。系統內存104典型的包括一個作業系統105,一個或多個程序模塊106,並且可以包括程序數據107。PnP零售應用程式120旨在為零售設備提供PnP功能。圖1中虛線108內的那些組件示出了這個基本配置。
計算設備100可以帶有額外的特性和功能。例如,計算設備100也可以包括額外的數據存儲設備(可移動的和/或不可移動的),例如磁碟,光碟或磁帶。圖1中,可移動存儲裝置109和不可移動存儲裝置110示出這種存儲裝置。計算機存儲介質可以包括採用任何方法或技術製造的易失性的和非易失性的,可移動的和不可移動的介質,來存儲信息,這些信息可以是計算機可讀指令,數據結構,程序模塊或其它數據。系統內存104,可移動存儲裝置109以及不可移動存儲裝置110都是計算機存儲介質的示例。計算機存儲介質包括,但不局限於,RAM,ROM,EEPROM,快閃記憶體或其它存儲技術,CD-ROM,數位化視頻光碟(DVD)或其它的光學存儲裝置,磁帶盒,磁帶,磁碟存儲裝置或其它的磁存儲設備,或任何可以用來存儲想要的信息並能夠由計算設備100進行訪問的介質。任何這樣的計算機存儲介質可以是設備100的一部分。計算設備100還可以包括輸入設備(多個)112,如零售設備,鍵盤,滑鼠,筆,語音輸入設備,觸摸輸入設備等等。還可以包括輸出設備(多個)114,如顯示器,揚聲器,印表機等等。
計算設備100還可以包括通訊連接器116,允許該設備與其它的計算設備118進行通訊,如通過網絡。通訊連接器116是通訊介質的一個例子。通訊介質典型的可以通過計算機可讀指令,數據結構,程序模塊,或調製數據信號中的其它數據,如載波或其它傳輸機制來實現,以及包括任何信息傳輸介質。術語「調製數據信號」指的是包括一個或多個自身特徵集合或按照信號中的編碼信息的方式進行改變的信號。舉例來說,但並不局限於此,通訊介質包括象有線網絡或直接連線連接這樣的有線介質,也包括象聲頻,射頻,紅外這樣的無線介質以及其它的無線介質。這裡用到的術語計算機可讀介質包括存儲介質和通訊介質。
零售設備的即插即用(PnP)圖2示出的是根據本發明諸多方面的PnP零售系統的一個通用系統框圖。
用於零售設備的PnP支持簡化了安裝和維護POS設備的任務。例如,終端用戶可以簡單的拔下一個POS設備,並且可以在不需要重新啟動或重新配置他們的機器來與新設備發生相互作用的情況下,插入新的POS設備。
通常的,當用戶安裝一個不支持的設備時,如零售設備210,該安裝作為一個PnP事件被作業系統220檢測到。然而,作業系統220不能安裝這樣的零售設備,因為該設備是不支持的,並且作業系統不具備安裝這樣的設備需的知識。一旦有了PnP事件,PnP管理器225就將該事件發送給設備管理器應用程式230。因為設備管理器應用程式230駐留在用戶模式中,與作業系統的內核模式相比較而言,設備管理器應用程式230可以在不改變作業系統的情況下進行調整。一旦初始化,設備管理器230註冊以便從作業系統接收PnP事件,象其它I/O事件一樣。
由作業系統220發送到設備管理器應用程式230的PnP事件包括一個已安裝的設備的設備ID。設備管理器230試圖從接收到的設備ID中識別該設備。當該設備是設備管理器230支持的設備時,設備ID給安裝INF文件提供一個映射,該安裝INF文件描述了組件,註冊表設置,以及與該設備相關聯的類似的配置選項。根據一個實施例,與該設備有關的配置設置存儲在設置文件(245)中。根據一個實施例,配置文件存儲為XML,它包括應該怎麼樣配置該設備的指令。上下文中的配置是指對什麼樣的服務對象(SO)映射給哪個設備進行識別。包含在XML文件中的信息所包括的項目,例如設備ID;設備類;IHV名;SO名;SO GUID;設備的特殊屬性(埠速度,多接頭設備等等);用於設備管理的啟動UI的入口終端,等等。最後獲知的設備狀態也作為設備配置的一部分進行保存。最後獲知的狀態在調試設備進可能是很有用的。
根據本發明的一個實施例,模板INF文件提供給每個支持的設備類,作為軟體開發包(SDK)的一部分。模板INF文件的目的在於識別標準註冊表和支持公共控制庫(CCL)所需的配置元素。當設備管理器應用程式230識別出未管理的設備是一個零售設備時,CCL235公開給對零售設備210感興趣的POS應用程式(240)。
當接收來自作業系統的事件並識別該設備時,設備管理器應用程式230自動的更新註冊表和相關的配置入口,並且在無需用戶介入的情況下,基於相關聯的INF文件為該設備安裝支持的二進位文件。然後,在無需知道使用特定設備的特殊規定的情況下,POS應用程式240可以使用CCL235中的功能,對零售設備210進行訪問。
CCL235旨在為應用程式提供與支持的設備有關的屬性,方法以及事件。根據一個實施例,CCL235通過.NET類庫,為每個支持的設備類提供UPOS屬性,方法以及事件以作為管理的代碼,這些設備類都是在UPOS V1.8規範中指定的。也可以支持其它的設備。通常的,作業系統的PnP系統不支持的任何設備,可以通過設備管理器應用程式230在用戶模式代碼中得到支持。
圖3示出的是根據本發明諸多方面的PnP系統的高層次結構框圖。如圖所示,該結構框圖包括作業系統在核心模式中提供的功能(線335以下)和在用戶模式中提供的功能(線335以上)。
I/O系統350在作業系統的核心模式下進行操作,並提供I/O管理(365),電源管理(360)和PnP管理(355)。I/O管理器提供標準I/O管理。電源管理360將不由作業系統管理的電源事件發送給設備管理器應用程式310。PnP管理器355檢測PnP事件並將該事件提供給設備管理器應用程式310。PnP事件管理器320判斷什麼事件與設備管理器310所支持的設備有關,並將它已經註冊準備接收的任何事件提供給POS應用程式305。
互操作層315用於使基於遺產COM的零售設備能夠被指向CCL的應用程式使用。換句話說,互操作層315旨在為POS設備305提供一種使用相同方法就能夠對PnP設備和遺產設備進行訪問的統一的方式。遺產OPOS設備通常存儲關於它們自己的信息,識別通信路徑,來堅持配置數據。例如,一個系統註冊表可以用來存儲這樣的信息。典型的,每個設備製造商將提供一個常規應用程式來管理設備的配置。
圖4示出的是根據本發明諸多方面的PnP系統與CCL之間的交互。如圖所示,系統400包括POS應用程式405,公共API(CCL)415,列舉器420,PnP系統430,SO資料庫440,配置管理器450,以及.NET框架和Win32層。
POS應用程式405與API410進行交互,進而與CCL支持的設備進行交互。API410為POS應用程式405提供由應用程式所註冊接收的PnP事件。
根類415在公共API410中進行公開並作為所有操作的一個單獨入口終端。API410給應用程式,如POS應用程式405,提供對已安裝的POS設備進行計數的能力,為它們用具體例子說明服務對象的能力,並在POS設備連接或斷開連接時接收即插即用事件的能力。
根據一個實施例,根類415公開了下面的方法GetDevice返回一個安裝到機器上的所有POS設備的集合;GetDevice(字符串類型)返回一個安裝到機器上的給定類型的POS設備的集合;GetDefaultDevice(字符串類型)為給定類型的預設設備返回IDevice接口;以及OpenControl(IDevice設備)返回被請求的服務對象的情況(IPOSControl接口)。
根類415還為POS應用程式510公開了兩個即插即用事件OnDeviceAdded和OnDeviceRemoved,當POS設備連接到機器或從機器斷開連接時會發出這兩個事件。
OPOS定義了服務對象發出的5個事件OnDataEvent;OnDirectIOEvent;OnErrorEvent;OnOutputCompleteEvent;以及OnStatusUpdateEvent。不同的設備類會發出,所有的事件,或事件的子集,或一個事件也不發出。這些事件都添加到IPOSControl接口。用於每個OPOS標準不能簡單支持一些或全部事件的設備類的SO將不會發出它們。
該根類還檢測機器上安裝了什麼樣的服務對象,以及通過已經安裝的SO(420)的內部列舉器返回的列舉器,把那樣的信息呈現給應用程式。根類410通過塊420與作業系統的即插即用系統430集成到一起,通過硬體ID來判斷一個由已經安裝的服務對緣支持的物理設備當前是否處於已經連接或已經打開。
塊420為.NET服務對象掃描.NET SO資料庫440。根據一個實施例,塊420對在HKLM\SOFTWARE\OLEforRetail.NET\ControlAssemblies註冊表鍵中指定的目錄進行掃描。該鍵可以包括多個字符串值每個要掃描的目錄有一個值。.NET SO是配備給特定常規屬性的dll。一個SO彙編中的每個服務對象類都帶有一個POSServiceObject屬性,該屬性指定了服務對象的設備類,名稱,描述,以及版本。例如[POSServiceObjectAttribute(「MSR」,「CommonMSR」,「Common service objectfor magnetic stripe reader」,「1.0.0」)]配置管理器550讀取配置文件並用於將PnP硬體ID映射到多個遺產SO;擴展到.NET SO元數據;將非PnP設備映射到多個SO;無效設備;以及安全設置。
可以有一個或多個POSHardwareId屬性,將物理設備的硬體ID映射到SO。這些ID是硬體ID,也是由其即插即用子系統使用的。在通過指定較低和較高的id範圍而得到的範圍內,對硬體id進行定義。例如[POSHardwareId(「USB\Vid_05d9Pid_a794Rev_0000」,「USB\Vid_05d9Pid_a794Rev_9999」)]。
根據一個實施例,為遺產服務對象,根類415讀取了HKLM\SOFTWARE\OLEforRetail\ServiceOPOS註冊表鍵。所有註冊的OPOS服務對象的名稱和標題性ID都在按設備類型成組的鍵之下進行定義。用於遺產SO的硬體id通過配置放入到指定的文件夾中的XML文件進行定義。
正如上面討論的,根據一個實施例,CCL對POS應用程式公開了UPOS V1.8的屬性,方法和事件,作為用於每個在UPOS規範中定義的支持設備類的管理代碼。
CCL410是代表每個設備類的控制對象(CO)的彙編集合。該CCL為應用程式,例如售貨終端應用程式,提供了應用程式接口。該服務對象執行API並且支持該CO的類的一個設備。接下來是標準屬性,方法和事件的示意性列表。

根據一個實施例,UPOS V1.8常數被執行並且遵照由UPOS建立的分類和命名慣例。根據一個實施例,該CCL以.NET代表的形式公開UPOS事件。另外,該庫公開了與POS設備有關的PnP事件。
該CCL定義接口以及它們的設備類名稱。該庫也允許定義額外的設備類。
該IPhysicalDevice接口公開了幾個關於該將要被接入或移除的指定設備的屬性,如它的安裝狀態,POS設備類,全部設備路徑,描述以及硬體Id。這些信息將應用程式需要的上下文提供給應用程式,使得它能夠作出關於如何處理該事件的決定。
public interface IPhysicalDevice{string Description{get;}string DevicePath {get;}string Class {get;}string[] HardwareIds{get;}bool Installed {get;}}PnP支持在該PhysicalDeviceInfo類中實現。根據一個實施例,該PhysicalDeviceInfo類是從System.Windows.Forms.Form繼承來的管理類。因為本地作業系統事件通過窗口消息公開給應用程式並且*.Form包裝了一個本地窗口,因此PhysicalDeviceInfo繼承於*.Form。該本地窗口用於從OS中捕獲PnP事件並且不進行顯示。
當指明該PhysicalDeviceInfo類是為來自所有設備接口類的PnP事件而註冊的時候,這樣它就公開什麼時候任何支持PnP的設備添加到素統中或從系統中移除(包括非POS設備)的事件。該PhysicalDeviceInfo類還建立了一個系統目前所知道的所有設備的內部列表,並且判斷哪一個是當前接入並啟動的。這個類還包括幫助方法來返回設備的完全列表並且查詢指定設備的當前狀態,其中幫助方式是在設備計數期間由CCO.Net使用的。設備列舉和設備信是通過本地API調用來完成的,本地API是通過P-Invoke類型互用而成為多個Win32API的。
該PhysicalDeviceInfo類將本地作業系統PnP事件作為事件公開給該根CCO.Net類。這些事件返回執行該PhysicalDevice接口的IPhysicalDevice對象。該PhysicalDevice類是代表單個設備的類,並且公開幾個關於設備的屬性,如它的硬體Id,描述等等。這是最終喚起應用程式的同一個對象。
訪問方法和屬性一個想要訪問該庫支持的設備的應用程式,如POS應用程式405,應該首先在調用其它方法之前打開該設備。根據一個實施例,在成功打開一個設備之前試圖調用一個方法會導致致OPOSClosedException發生。訪問專用設備需求的應用程式應該聲明並且在調用大部分方法之前啟動該設備。訪問可共享設備的應用程式應該在試圖調用大部分方法之前啟動該設備。在成功打開一個設備之前,與該設備關聯的大部分屬性的值沒有初始化。在已為設備初始化屬性之後,隨後聲明和對設備的啟動沒有重新初始化這些屬性。這些屬性保持被初始化直到設備關閉。
由設備管理器應用程式接收的數據作為DataEvent進行排隊。如果當接收數據時,該AutoDisable屬性設為TRUE,那麼該控制自動使它自己本身無效並將DeviceEnabled屬性設為FALSE。這樣就禁止了該控制從進一步輸入中進行排隊並且當可能時,物理地使該設備無效。
當該應用程式準備好從該設備接收輸入時,它將DataEventEnabled屬性設為TURE。然後,當輸入被接收時(通常作為硬體中斷的結果),該控制進行排隊並將DataEvent發送給已經請求該事件的應用程式。如果已經將數據進行了排隊,那麼將對該DataEvent進行發送。這個事件可包括通過數字參數的輸入狀態信息。就在發出該事件之前,該控制把按照要而增加了其它信息的輸入數據放到設備指定性當中。
就在發送該事件之前,通過將DataEventEnabled屬性設為FALSE,該控制使進一步的數據事件無效。這會導致通過該控制對隨後輸入的數據進行排隊,而該應用程式處理當前輸入和相關屬性。當該應用程式已經完成了當前輸入並準備更多的數據時,它通過將DataEventEnabled設為TURE來重新啟動事件。
如果該輸入設備是專用設備,該應用程式在該設備開始讀取輸入之前進行聲明並且啟動該設備。對於可共享的輸入設備,在該設備開始讀取輸入之前,可以打開一個或多個應用程式並且啟動該設備。在該控制使用DataEvent向設備發送數據之前,應用程式調用ClaimDevice方法來請求對該設備進行單獨訪問。如果接收到事件-驅動輸入,但是沒有應用程式已經對該設備進行聲明,那麼對該輸入進行緩衝直到一個應用程式對該設備進行聲明(並且該DataEventEnabled屬性為TURE)。這樣的行為允許在多個應用程式之間按順序共享設備,有效的在它們之間傳遞該輸入焦點。
如果該控制在獲取或處理事件-驅動輸入時遇到了一個誤,那麼該控制將它的狀態改為Error,並且對一個或兩個ErrorEvents進行排隊來警告該應用程式有錯誤情況。這個事件(或多個事件)不進行發送直到該DataEventEnabled屬性為TURE,以便按順序編好應用程式。根據一個實施例,對帶有以下片段的錯誤事件和表達式進行發送InputwithData(OPOS_EL_INPUT_DATA)——當一個或多個DataEvents進行排隊時,如果該錯誤發生,則對其進行排隊。它排在所有DataEvents之前。一種典型的實現方式是將把它放在事件隊列的最前面。這個事件使應用程式能夠立即清除掉輸入,或選擇性的警告用戶對錯誤注意並處理經過緩衝的輸入。接下來的情形可能在描器控制方面有用該用戶能夠立即被警告注意該錯誤,以至於直到該錯誤被決,否則不會對更多的項目進行掃描。任何前面掃描過的項目在執行錯誤恢復之前能夠被成功地進行處理。
InputNoData(OPOS_EL_INPUT)——當已經發生了一個錯誤並且沒有數據可用時,對其進行發送。一種典型的實現方式是將把它放到事件隊列的最後面。當該錯誤發生時,如果一些數據已經排在隊列中,那麼對一個帶有「InputWithData」片段的ErrorEvent進行排隊並首先發送出去,然後在所有DataEvents已經發送之後,對這個錯誤事件進行發送。如果發送了一個「InputWithData」事件並且該應用程式事件句柄響應了一個「清除」,那麼這個「InputNoData」事件就不發送。
當發生了下面的一種情況時,該控制退出錯誤狀態(1)應用程式從InputNoDataErrorEvent返回;(2)應用程式從InputWithData ErrorEvent返回,並帶有OPOS_ER_CLEAR;以及(3)應用程式調用ClearInput方法。
對於一些控制來說,應用程式調用一種方法以便開始事件驅動輸入。在該控制接收到輸入之後,接著典型地,不會再接收到額外的輸入,直到該方法被重新調用來重新開始輸入為止。示例包括MICR和籤名獲取設備。驅動輸入事件的這種變化有時候會被稱為「異步輸入」。
可以通過讀取該DataCount屬性來獲取由該控制進行排隊的DataEvents的數量。所有由一個控制進行排隊的輸入可以通過調用ClearInput方法來將其刪除。ClearInput可以在用於可共享設備的打開(Open)之後和用於專用設備的聲明設備(ClaimDevice)之後進行調用。
一般的事件驅動輸入模型不排除對包括直接返回輸入數據的方法或屬性的設備類進行定義。一些設備類定義這些方法和屬性,以便以更直觀或更靈活的方式來操作。一個示例是該鍵鎖設備。這種類型的輸入有時候稱為「同步輸入」。
輸出該OPOS輸出模型包括同步和異步輸入。一個設備類可以支持一種或兩種類型,或兩種類型都不支持。
同步輸出當設備輸出能夠很快執行的時候,優選使用同步輸出。它的優點是簡單。該應用程式調用一個類指定方法來執行輸出。該控制不進行返回,直到完成該輸出為止。當在這種類型輸出期間發生了錯誤時,發出一個OPOSException。
異步輸出在先進先出基礎上執行異步輸出。當設備輸出需要慢速硬體交互時,優選使用這種輸出類型。它的優點是能夠被察覺到的響應性,這是因為應用程式能夠在該設備正執行該輸出時執行其它的操作。應用程式調用類指定方法來啟動輸出。該控制將該請求緩衝在程序存儲器中,使得一旦物理設備能夠接收並處理它,就將它發送到物理設備,將OutputID屬性設為該需求的一個識別符,然後一旦可能就將它返回。當該設備成功的完成請求時,OPOS發出一個OutputCompleteEvent。該事件的一個參數包括了完成的請求的OutputID。
如果在執行異步請求時發生了一個錯誤,就發出一個ErrorEvent。該應用程式的事件句柄要麼重試這個特殊的輸出,要麼將它清除。當ErrorEnevt在進程中時,該控制處於錯誤狀態。
所有經過緩衝的輸出數據,包括所有異步輸出在內,能夠通過調用ClearOutput而將它們刪除。不必再為清除掉的輸出發出OutputCompleteEvents。該方法還能夠停止可能在進程中的任何輸出(當可能的時候)。
錯誤處理通過異常事件來執行庫中的錯誤處理。該錯誤基於在UPOS V1.8規範中的定義的HRESULT代碼(ResultCode和ResultCodeExtended值)。該POSException類從System.ApplicationException衍生出來,並且是一個基礎異常事件類。該類還為OPOS錯誤代碼定義了常數。POSControlException從POSException衍生出來並由服務對象發出。POSLibraryException也從POSException衍生出來並由該庫發出。
根據一個實施例,錯誤處理從System.ApplicationException衍生出來。這個衍生類執行出自UPOS規範的ResultCode和ResultCodeExtended屬性。
安全該CCL,即插即用特性以及設備列舉特性用基於角色的安全來對服務對象進行訪問。設備管理包括對UI的需求以及對與服務對象有關的角色的相關配置的需求。
公開了一個幫助類,它列舉了接入到系統上的經過連接和配置的設備。這個類公開了公共方法,該方法允許應用程式開發者通過查詢CCL來判斷什麼設備是可以訪問的。這個列舉類還具備查詢設備統計的能力(象UPOS V1.8規範定義的那樣)。
為了簡化提供給服務對象開發者和零售商的安全,添加的額外用戶類型包括所有者;集成者;管理者;以及出納員。預設地,所有者是管理員組的成員,集成者和管理者是重要用戶,以及出納員是一個用戶。
在無需適當角色特權的情況下,試圖訪問一個控制,會發出一個「不允許訪問」異常事件。一個標準錯誤消息被識別出來,說明已經發生了該錯誤。如果應用程式正在處理這個消息,應該有一個選項不顯示該標準錯誤消息。如果使用的是基於角色的安全並且應用程式不處理這個錯誤的話,該標準消息就不應該受到阻止。
根據一個實施例,該CCL公開了一個由UPOS設備類成組起來的可訪問POS設備的列舉器。該庫作為一個用於舉例說明服務對象的例子的工廠。它將POS應用程式複寫器從指定服務對象的實現方式中分離出來,並且是一個與POS設備交互的應用程式的一個單獨入口終端。
根據一個實施例,通過標準NET方式來報告錯誤(通過異常事件的方式)。庫異常事件具有邏輯繼承層次。在可能的地方使用標準OPOS錯誤代碼並使它有效。
圖5示出的是根據本發明諸多方面的一個帶有PnP零售設備的集成遺產設備的結構圖。
CCL510對帶有受管理的代理類的基於COM的SO進行包裝。該代理通過反射530來示例SO的控制對象,並轉接調用它的應用程式。該代理並不直接與實際的SO(570)進行對話。而是它與它的CO(560)進行通訊。
該LegacyProxy類是用於所有遺產代理的全局基礎類。該LegacyProxy類實現用於24個當前支持的OPOS設備類的接口(ICashDrawer,IMSR,IPOSPrinter等等)以至於它的示例能夠發送給任何一個接口。基本地,LegacyProxy是所有OPOS控制的父集。LegacyProxy通過標準NET-COM互用層與CO對話,並使用IDispatch進行實際通訊,其中,該互用層考慮了所有垂直規則。因為IDispatch通過名稱來調用屬性和方法,只要下面的CO執行它們,該LegacyProxy類就能夠公開這些屬性和方法。
根據一個實施例,通過來自Syetem.Runtime.InteropService名空間的UCOMIConnectionPointContainer和UCOMIConnectionPoint接口,將來自遺產控制的事件掛起。如果事件接收器類(LegacyProxy)執行了遺產控制的指定事件接收器接口,通過UCOMIConnectionPoint就能夠對事件句柄進行設置。儘管僅有5個標準OPOS事件,但對於所有控制對象(它們帶有不同的接口嚮導)來說,這些事件接收器接口全都是不同的。取代為遺產控制對象的每一個例子來示例LegacyProxy類,從LegacyProxy類中衍生出一個動態存儲器內類,它另外實現該事件接收器接口,且該接口產生想要的CO。該接口的GUID是從遺產CO例子(通過UCOMIConnectionPoint)的事件連接點取出來的。產生的類將對事件句柄延的調用轉接到LegacyProxy類,該LegacyProxy類對它們進行翻譯並將它們發送到應用程式。
1.應用程式為一個遺產OPOS控制調用Root.OpenControl。
2.Root.OpenControl調用AssemblyFinder.OpenControl。
3.AssemblyFinder.OpenControl了解該請求是用於一個遺產控制,並調用AssemblyFinder.GenerateLegacyProxy。
4.AssemblyFinder.GenerateLegacyProxy說明該COM類,並然後使用UCOMIConnectionPointContainer和UCOMIConnectionPoint來獲取該連接點(事件接收器)接口的嚮導。
5.AssemblyFinder.GenerateLegacyProxy調用AssemblyFinder.EmitProxy來產生一個存儲器內代理類,其中該存儲器內代理類實現一個帶有該事件接收器嚮導的接口。
6.應用程式通過調用其上的打開(Open),來打開該代理。
7.在打開(Open)方法中,在其它的事情當中,LegacuProxy(所產生的代理的父類)調用UCOMIConnectionPoint.Advise以便將該例子設為事件句柄。
支持POS應用程式OPOS.NET API該CCL由3個核心彙編組成(1)POS.Interface.dll,它定義接口,列舉和常數,通過SO和應用程式兩者進行引用;(2)POS.dll,它包括POS.Root類,該類使應用程式(ISV)為已經安裝的POS設備列舉並示例服務對象;以及(3)GenericServiceObject.dll,它是一個用於服務對象的基礎類。這將促使服務對象(IHV)的複寫器從它之中衍生出來,並且槓桿調節它的諸如事件序列,全局聲明等等的基礎SO功能的預設實現方式。
因為會從POS機硬碟驅動器上的多個位置引用這3個彙編,那麼就安裝用於全局江彙編高速緩存的彙編。這將有助於保證通過該機器只使用該二進位文件的一個拷貝,並且該二進位文件能夠在一個中心位置起作用。
服務對象接口出於創建受管理的服務對象的目的,已經定義了幾個接口。這些接口封裝了POS1.8規範,並且被分成兩個種類(1)設備類獨立接口,它們模仿一般的POS功能以及(2)設備相關接口,它們模仿指定到一個給定設備類的功能。
公共公開的POS接口(一般的和設備相關接口)被定義成一個分別彙編的POS.Interface.dll。這些接口由.NET服務對象來執行。應用程式將從CCL接到的SO例子發送到這些接口,以便能夠對特殊設備類的指定功能進行訪問。基礎控制接口被定義成POS.Interface.Basic名空間,並具備下面的層次。IPOSControl是用於.NET服務對象的基礎接口。SO將直接地或間接地實現它。該庫使用指向這個接口的指針,使得SO和應用程式將它發送到更多的指定設備的相關接口,象IMSR,IPOSPrinter等等。通過給用於事件驅動輸入設備的SO添加3個屬性,IPOSEventInput對IPOSControl進行擴展。通過給用於支持異步輸出的設備(如印表機)的SO添加OurputID屬性,IPOSAsyncOutput對IPOSControl進行擴展。
用於標準OPOS設備類的設備相關接口被定義成POS.Interfaces.Specific名空間。它們從上述基礎接口中的一個接口衍生出來,並且根據為特殊設備類指定的功能對它們進行擴展。當執行它們的SO時,IHV的SO應該從這些接口中衍生出來。示意性的接口如下用於現金抽屜的ICashDrawer,用於磁條讀取器的IMSR;用於票據印表機的IPOSPrinter等等。
這些接口近似地與各自的OPOS接口相匹配。與此同時,在一些由於COM限制導致的從UPOS衍生OPOS的情況中,用到了原始UPOS接口。例如,OPOS使用BSTR字符串來接收和發送二進位數據,這將引起某些由二進位向ASNI轉換的衝突。在該CCL中,字節陣列用於二進位數據。
作為一個例子,下面的是,用於MSR(磁條讀取器)的OPOS和庫接口看起來是什麼樣子的。
這些接口將IPOSControl當作它的父親/祖父,因此任何SO能夠被發送到IPOSControl接口。該庫類操作IPOSControl接口並且應用程式將SO的例子發送給設備指定接口。那樣的話,允許在不改變庫的情況下引入新的設備類。只要新設備類接口是從IPOSControl衍生出來的,該庫就能夠為新設備類處理SO例子。
圖6示出的是根據本發明諸多方面的示意性的幫助類和SO資料庫。
硬體售貨機典型地實現一個設備相關服務對象(SO),該服務對象按照POS規範中說明的那樣實現一個接口並直接與它們的硬體對話。該CCO.NET 庫包括幾種技術,這些技術減輕了產生SO的高質量實現的負擔,它們包括支持在受管理代碼中的編寫服務對象;一個對於大多數服務對象來說都很普通的POS特性通用實現。這個包括用於設備聲明/啟動,引發事件,消息排隊,統計等等的基礎結構。IHV可槓桿平衡這個目標,以便減輕實現SO的POS指定方面的大部分負擔,而使它們能夠將專注於設備指定細節上;以及一系列用於性能計數器、設備統計的幫助類。
根據一個實施例,服務對象按照.NET彙編進行編寫。這些泯編是從IPOSControl接口中衍生出來的,或是從IPOSControl衍生出來的經過定義的設備指定接口中的一個中衍生出來的。這些彙編包括彙編級或類級屬性,它們對支持設備的設備類,POS版本以及硬體Id進行說明。該CCO.NET庫使用這些屬性來判斷SO要實現哪個設備類,以及它控制什麼硬體。通過使用彙編屬性,極大的簡化了SO的安裝,因為所需要做的就是把該彙編拷貝到一個目錄中,在這個目錄中該CCO.NET能夠找到它。
該通用服務對象類是一個抽象基礎類,它實現所有設備類的服務對象所需的預設功能。典型的將要用於IHV的方案從通用服務對象和設備指定接口當中的一個接口中衍生出來。通過這麼做,IHV能夠依賴通用服務對象來處理很多POS 指定細節,並且能夠將它們的精力集中到SO的設備指定方面。
該通用服務對象類包括一個預設執行,它用於所有IPOSControl接口上的方法和屬性。這包括一種機制,用於事件排隊和發送,設備狀態管理(聲明,啟動等等)以及狀態報告。因為這是一個抽象類,它不能被直接示例,並且試圖單獨地用於IHV,以便從中衍生出來它們的SO。所有的方法和屬性標註為虛擬的,所以IHV能夠使用該預設實現,並且不理會它們看著合適的任何方法。
該通用服務對象實現POS事件的細節,POS事件以事件隊列、事件隊列工人線程以及各種同步對象的形式進行發送。在一個高層次上,引發事件由通用服務對象按照下面的方式進行處理1)等待,直到該線程接收到信號並且該FreezeEvents屬性是false。
2)查看該線程是否結束,如果結束了,清除該事件隊列並結束該線程。
3)將下一個事件從該事隊列中去除。
4)調用PreFireEvent(EventArgs posEvent)。
5)如果步驟4中,PreFireEvent返回的是true的話,將該事件發送給應用程式。
6)返回到步驟1。
提供兩個幫助方法來驅動引發事件QueueEvent(EventArgs posEvent)和PreFireEvent(EventArgs posEvent)。
QueueEvent(EventArgs posEvent)用來將一個事件添加到事件隊列,以及發送信號通知該事件線程新事件已經到達。PreFireEvent(EventArgs posEvent)是在發送一個事件之前立即由該通用SO調用的。這使得優先於發送特殊事件,給該SO提供了一個更新內部狀態的機會。
當調用該Open方法時,創建該事件隊列數據結構並對其初始化。該Close方法釋放該設備,結束了該事件線程並清除了內部對象。提供一系列幫助類,來幫助IHV以一種簡單並相容的方式實現性能計數器和設備統計。
設備統計可以分成兩個種類(1)設備信息統計和(2)設備統計。設備信息統計是設備的屬性,如名稱、製造商、版本等等。設備統計典型地反映了設備使用信息,如已經供電了多少個小時等等。UPOS 1.8定義了一系列統計,其中有所有設備都應支持的統計,以及用於每個設備類的統計。UPOS還指定了設備能夠支持製造商指定設備的統計。
該DeviceStatistics幫助類減輕了實現UPOS規範1.8版本中定義的設備統計的負擔。它包括在該GenericSO實現中,因此從GenericSO中衍生出來的SO僅需要編寫很小量的代碼來支持統計。典型地,用戶需要編寫代碼僅是調用IncrementStatistic(字符串名)方法,來在適當的時候增加給定統計的值。該GenericSO將考慮剩下的細節。
該DeviceStatistics類支持存儲在硬體或軟中的統計。基於軟體的統計以應用程式可定義的間隔自動持續發送到XML文件,並且當設備被聲明時,自動地從這個文件中載入。DeviceStatistics實現3個方法(resetStatistics,retrieveStatistics和updateStatistics)以及兩個屬性(CapStatisticsReporting和CapUpdateStatistics)中的每一個。它還包括用於創建統計、增加統計以及將統計載入/保存到磁碟中的公共幫助方法。為了支持存儲在設備本身當中的統計,由SO指定一個回調函數,返回統計的值。該DeviceStatistics類將在每次用戶應用程式請求那個統計時,調用這個函數。
如果需要的話,IHV連同設備驅動程序,將用於安裝它們的服務對象的INF文件一起提供出來。經過選擇的一系列INF文件被預選安裝,以至於當有新設備接入時,作業系統能夠安裝它們。
安裝服務對象根據一個實施例,通過將它們的彙編拷貝到由HKLM\SOFTWARE\OLEforRetail.NET\ControlAssemblies註冊鍵指定的文件夾中,來安裝.NET服務對象。由於.NET SO在它們的彙編元數據中帶有將它們映射到物理設備所需的信息,因此在簡化情況下,不需要其它的信息。通過XML設置文件來提供所有額外的設置。這些額外的設置的例子包括如下項目,例如要映射到一個已存在的服務對象的額外的硬體id;當連接多於一個的類的設備時,用於這些情況的預設服務對象;以及用於非即插即用設備的設置,如串行口。
如上所述,全局設置保存在一個XML配置文件中。每個SO設置存在於置於一個預定件夾中的單獨的XML文件中。當列舉已經安裝的服務對象時,該庫讀取主配置文件和來自該文件夾的配置文件。
IHV帶有用於它們的設備的inf文件,其中既要安裝它們的驅動器,還要將SO彙編和可選擇的XML配置文件拷貝到各自的文件夾中。ISV和管理員能夠通過編輯XML配置文件來自定義該設置。
通過給基礎類提供了一般功能的預設實現,該CCL簡化了對基於.NET的服務對象的編寫。促使IHV從基礎類中衍生出來,在需要的地方不理會所提供的實現,以及添加設備指定的特性。新的.NET服務對象是.NET類,這些類實現由該庫定義的設備類接口。
該CCL提供一個通用服務對象類,它可以用作一個用於它的服務對象的基礎類。該類實現儘可能多的設備獨立功能,來簡化SO的編寫。
該CCL為函數提供了一系列邦助類,這些函數可能是多個售貨機所需要的。旨在簡化編寫一個.NET SO。
根據一個實施例,該庫支持.NET服務對象的拖放類型安裝。SO彙編包括足夠的元數據信息,以至於該CCL能夠在無需額外配置的情況下使用它。可以定義一個額外的XML配置文件,來擴展彙編元數據。
圖7示出的是根據本發明諸多方面的集成的示意性顯示,用於提供關於接入到系統中的POS設備的信息。
每個設備都能夠被啟動或被無效。可以使用下拉列表720,或一個應用程式可以調用該CCL來無效/啟動該設備。一個被無效的設備不能由該CCL訪問。在試圖訪問該設備之前,該應用程式應當啟動該設備。
每個SO提供者為它們各自的設備提供這種類型的管理信息。
一個一般的標誌和驅動器標誌顯示了下列用於設備的信息名稱和說明;硬體id和路徑(用於即插即用設備);NET或遣產服務對象;彙編路徑,全名,版本,類名(用於NET對象);以及ProgId,ClsId,二進位路徑,版本,來自註冊表的配置參數。
還為該設備顯示一個設備狀態(710)。
圖8示出的是根據本發明諸多方面的已安裝的POS設備的示意性屏幕快照。如圖所示,銷售設備的安裝點顯示在窗格810中。
窗格810顯示的是安裝的設備和配置的多個視圖,包括如下的項目,例如設備類以及當前連接到機器的設備;設備類以及過去曾經連接到機器上的設備;安裝的.NET服務對象彙編,類,以及它們控制的物理設備;安裝的遺產服務對象以及它們控制的物理設備;以及全局庫配置。這個接口旨在幫助管理員深入到與一個設備有關的底層細節,如什麼樣的二進位實現什麼樣的服務對象,它們安裝到哪,什麼版本等等。
另一個面板(820)管理一系列用於選取樹視圖節點(s)的與上下文有關的控制。它顯示了選取節點上的詳細信息並提供有用的操作。例如,對印表機來說,可控制調用方法打開,聲明,啟動,列印正常,剪斷票據等等。還可控制來自設備的事件的可視化。這個標誌能夠讓管理員迅速的測試接入的硬體,而無需運行一個真正的POS應用程式。
安全設置也可以進行選擇。例如,全局安全設置可以公開,允許設備被鎖定,以至於系統僅允許一定的服務對象和/或硬體能夠被應用程式所利用。統計還可以提供快速地讀取/重置對設備統計的訪問。
以上的說明,示例以及數據提供了一個對本發明的構成進行製造和使用的完整描述。由於在不背離本發明實質和範圍的情況下,可以作出很多本發明的實施例,因此,本發明包括在下文附上的權利要求中。
權利要求
1.一種為作業系統不支持的設備提供即插即用(PnP)功能的方法,包括判斷與設備相關聯的事件;確定設備的ID;將設備映射到服務對象,這裡當設備不受與設備關聯的作業系統支持時,該服務對象是在用戶模式代碼中實現的;以及向應用程式公開通用接口以至於該應用程式可以通過該通用接口對設備進行訪問。
2.如權利要求1所述的方法,其中,該事件是即插即用(PnP)事件。
3.如權利要求1所述的方法,其中,設備是零售設備。
4.如權利要求3所述的方法,其中,該零售設備至少從下面之一進行選擇碰撞條;現金兌換機;現金出票機;信用卡認證終端;投幣自動售貨機;財務印表機;硬體核對機;鍵鎖;條形碼掃描器;音調指示器;動作檢測器;線路顯示器;磁性墨水字符識別讀取器;磁條讀取器;個人身份號碼簿;點卡;POS鍵盤;POS印表機;遠程訂單顯示器;稅率表;籤名識別器;以及支票圖像掃描儀。
5.如權利要求1所述的方法,進一步包括當事件指示該設備已經安裝時配置設備。
6.如權利要求1所述的方法,其中,公開通用接口進一步包括給應用程式提供與該設備相關聯的屬性,方法和事件。
7.如權利要求1所述的方法,其中,將該設備映射到該服務對象,這裡當設備不受與設備關聯的作業系統支持時,該服務對象是在用戶模式代碼中實現的,進一步包括判斷什麼時候該設備是遺產設備,什麼時候是PnP設備。
8.一種為作業系統不支持的設備提供即插即用(PnP)功能的系統,包括作業系統,包括一個在該作業系統的核心模式下操作的事件管理器,配置成檢測與不受作業系統支持的設備相關聯的事件;以及將該事件提供給駐留在用戶模式中的設備管理器應用程式;該設備管理器應用程式配置成,判斷什麼時候該設備是遺產設備,什麼時候是PnP設備,以及包括一個公共控制庫(CCL),其配置成提供與設備相關聯的屬性,方法和事件;以及一個應用程式,配置成通過該CCL與設備管理器應用程式進行交互,並接收與該設備相關聯的屬性,方法和事件。
9.如權利要求8所述的系統,其中,該作業系統進一步配置成給設備管理器應用程式提供設備ID;並且其中該設備管理器應用程式進一步配置成接收該設備ID並響應該ID安裝該設備並將該設備映射到一個服務對象,其中該服務對象在用戶模式下實現。
10.如權利要求9所述的系統,其中,該設備是至少從下面之一進行選擇的一種零售設備碰撞條;現金兌換機;現金出票機;信用卡認證終端;投幣自動售貨機;財務印表機;硬體核對機;鍵鎖;條形碼掃描器;音調指示器;動作檢測器;線路顯示器;磁性墨水字符識別讀取器;磁條讀取器;個人身份號碼簿;點卡;POS鍵盤;POS印表機;遠程訂單顯示器;稅率表;籤名識別器;以及支票圖像掃描儀。
11.如權利要求8所述的系統,其中該設備管理器應用程式進一步包括一個遺產互用層,該層被配置為啟動遺產設備,以便使其可通過CCL而由該應用程式使用。
12.如權利要求8所述的系統,其中,該設備管理器應用程式進一步被配置成向該作業系統註冊,來接收與不受作業系統支持的設備相關聯的事件。
13.一種計算機可讀介質,帶有為不受作業系統支持的設備提供即插即用(PnP)功能的計算機可執行指令,包括駐留在作業系統的核心模式中的一個第一組件,配置成提供與一個設備相關聯的事件;駐留在該作業系統的用戶模式中的一個第二組件,配置成接收由該第一組件提供的事件,並且向一個應用程式公開一個通用接口,以至於該應用程式可以訪問該設備並且可以通過該通用接口來接收該事件。
14.如權利要求13的計算機可讀介質,其中,該事件與一個即插即用(PnP)事件有關。
15.如權利要求14的計算機可讀介質,其中,該通用接口進一步配置成為該應用程式提供一個統一路徑,以便與一個PnP設備和一個遺產設備進行交互。
16.如權利要求14的計算機可讀介質,其中,該設備是至少從下面之一進行選擇的一種零售設備碰撞條;現金兌換機;現金出票機;信用卡認證終端;投幣自動售貨機;財務印表機;硬體核對機;鍵鎖;條形碼掃描器;音調指示器;動作檢測器;線路顯示器;磁性墨水字符識別讀取器;磁條讀取器;個人身份號碼簿;點卡;POS鍵盤;POS印表機;遠程訂單顯示器;稅率表;籤名識別器;以及支票圖像掃描儀。
17.如權利要求13的計算機可讀介質,其中,該第二個組件進一步配置成,當該事件指示該設備已經進行安裝時,就安裝該設備。
18.如權利要求13的計算機可讀介質,其中,公開該通用接口進一步包括為該應用程式提供與該設備相關聯的屬性,方法以及事件。
19.如權利要求18的計算機可讀介質,其中,該第二組件進一步配置成,將該設備映射到一個服務對象上,這裡當該設備不受作業系統支持時,該服務對象在用戶模式代碼中實現。
20.如權利要求18的計算機可讀介質,其中,該第一組件進一步配置成向該第二組件提供一個設備ID;並且其中,該第二組件進一步配置成,判斷已經安裝的設備的類型並基於一個配置文件對該設備進行配置。
全文摘要
本發明為不受作業系統支持的設備提供了即插即用(PnP)功能。響應於不受支持的設備的安裝操作,作業系統將該事件發送給駐留在用戶模式代碼中的設備管理應用程式。一旦接收到這個事件,該設備管理應用程式自動安裝支持配置入口和軟體。當設備安裝完畢後,在不需要任何程序設計變動的情況下,通過應用程式就可以對該設備進行訪問。事件是通過一個公共控制庫(CCL)公開給應用程式的。該庫旨在為訪問該設備提供一個通用接口。通過使用CCL,註冊的應用程式就可以接收與該設備相關聯的事件。
文檔編號G06F9/44GK1752953SQ200510092238
公開日2006年3月29日 申請日期2005年5月14日 優先權日2004年9月22日
發明者C·A·傑森, H·胡斯曼, J·A·哈裡森, S·貝科夫, S·M·拉布朗斯, T·E·貝爾文 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀