專利名稱:在多人機接口設備下匹配設備句柄與設備的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及人機接口設備,尤其涉及一種在多人機接口設備下匹配設備句 柄與設備的方法。
背景技術:
人機接口設備(HID, human interface device)是用于管理和控制大多數(shù)計 算機的人工輸入設備,是USB的標準設備之一,HID屬于一種具體的USB設 備。由于自Windows 98開始,HID—直是Windows操作系統(tǒng)支持的較為完善 的USB設備類。操作系統(tǒng)不僅提供了完整的USB系統(tǒng)軟件,而且直接提供了 HID的設備驅動程序。這樣在開發(fā)HID設備時,就無需在PC上編寫驅動程序, 直接調用提供的HID類接口函數(shù)就可以開發(fā)用戶軟件。這樣大大降 低了開發(fā)的難度。因此在設備定型時,如果HID能夠實現(xiàn)數(shù)據傳輸?shù)囊?,?會優(yōu)先考慮HID, HID的設備種類也越來越多,應用的也越來越廣泛。
隨著HID應用范圍的擴大,在很多場合出現(xiàn)需要同時應用多個HID的情 形。比如,在多線程的情況下,根據不同的外界條件動態(tài)生成線程,生成的線 程去操作指定的某個設備。如果多個HID為不同種類的設備,那么只需按照 Windows系統(tǒng)提供的應用接口函數(shù)(API, Application Program Interface)根據 不同設備的生產商號(VID)和產品號(PID)即可獲得設備句柄,進而操作 設備,圖1為獲取設備句柄的流程示意圖,具體流程如圖所示為
步驟101 、獲取HID的全局唯一標識號(Guid, Global Unqiue Identity Code);
步驟102、獲取所有HID的設^f言息;
步驟103、獲取設備路徑;
步驟104、獲取設備句柄;
步驟105、獲取設備的VID和PID;
步驟106、判斷設備是否符合要求,是則轉入步驟108,否則轉入步驟107; 步驟107、關閉設備句柄;
步驟108、判斷設備是否遍歷完畢;是則轉入步驟109,否則轉入步驟103; 步驟109、獲取所有句柄。
實際上,對于同種類型的多個設備,其VID和PID是相同的,而通過系 統(tǒng)提供的API獲取的設備句柄與插入設備的對應關系對用戶是透明的,所以系 統(tǒng)就無法操作用戶指定的某個設備。現(xiàn)在一種解決的方法是按設備插入的先后 順序打開i殳備,由于設備的插入順序對用戶是可知的,所以這種方式獲取的句 柄能夠操作用戶指定的設備。對于USB大容量存儲設備,Windows系統(tǒng)把其 視為硬盤。假如PC有M個硬盤,則USB大容量存儲設備按其插入的先后順 序的符號連接名為PhysicalDriveM, PhysicalDriveN, PhysicalDriveP…,其中 N=M+1, P-N+l。
這樣只需調用
hDevice=CreateFile("\\\\A\PhysicalDriveN",GENERIC_READ|GENERIC—W RITE, FILE一SHARE一READIFILE一SHARE一WRITE, NULL, OPEN_EXISTINQ 0, NULL )即可獲取句柄來操作用戶指定的設備。然而,對于HID設備來說, 其符號連接名是沒有規(guī)律的,不能根據符號連接名來判斷其插入的順序,也就 無法操作指定的某個設備。
由上述可知,現(xiàn)有技術中存在著以下不足:對于具有相同的生產商號(VID) 和產品號(PID)的多個HID設備,雖然每個設備的句柄;軀動加載號是寸改 獲得的,但是卻無法與USB驅動加載號對應上。因此即使可以得到多個USB 驅動加載號,并且也能夠準確的確定驅動信息與實際i殳備的對應關系,〗旦是無 法得到對應HID設備的句柄,也無法對其進行操作。
發(fā)明內容
本發(fā)明提供了 一種在多人機接口設備下匹配設備句柄與設備的方法及系
統(tǒng),用以解決現(xiàn)有技術中存在的對于具有相同的VID和PID的多個HID設備, 不能與USB驅動加載號對應,也不能匹配對應HID設備的句柄,從而不能對 其進行操作的問題。
本發(fā)明在多人機接口設備HID下匹配設備句柄與設備的方法,在HID生 產廠商號與產品號相同時,包括如下步驟
獲取設備句柄及對應的設備路徑,根據注冊表獲取所述設備路徑與HID類 驅動加載號的映射關系,以及HID設備作為USB設備的路徑,所述USB設備 路徑在注冊表中的USB類驅動加載號;
根據HID設備的HID類驅動和USB類驅動的加載關系,通過所述USB 類驅動加栽號獲取HID類驅動加載號;
根據所述HID類驅動加載號獲得每一個所述HID類驅動加載號對應的 HID設備路徑;
根據所述設備路徑,為每個驅動加載號匹配對應的句柄。
較佳地,所述HID設備的HID類驅動和USB類驅動的加載關系是通過注 冊表獲取的。
較佳地,所述HID類驅動加載號,是根據注冊表的硬件鍵HID包含硬件 及驅動信息的子鍵獲取設備的HID類驅動加載號。
較佳地,根據所述子健中子鍵名為所述HID設備路徑,訪問子鍵中表示驅 動加載信息的值項"Driver"對應的值獲取所述設備的HID類驅動加載號。
較佳地,所述USB設備的路徑,是根據注冊表中服務鍵HIDUSB包含硬 件信息的子鍵Enum中表示設備插入順序的值項對應的值得到每個fflD設^ft 為USB設備的路徑。
較佳地,所述USB類驅動加栽號,是根據注冊表中硬件鍵USB包含硬件 及驅動信息的子鍵中,子鍵名為所述USB設備路徑,訪問子鍵中表示驅動加 栽信息的值項對應的值獲取所述設備的USB類驅動加載號。
較佳地,所述HID類驅動加栽號,通過所述USB類驅動加載號加一后獲 取HID類驅動加載號。
本發(fā)明還提供了 一種在多人機接口設備下匹配設備句柄與設備的系統(tǒng),在 HID生產廠商號與產品號相同時,包括第一映射模塊、第二映射模塊、第一獲 #^莫塊、第二獲^^莫塊、第三獲取模塊、匹配模塊,其中
第一映射才莫塊,用于獲取設備句柄及對應的設備路徑后建立設備句柄與設 備路徑的映射關系;
第二映射模塊,與第一映射模塊相連,用于根據注冊表建立所述設備路徑 與HID類驅動加載號的映射關系;
第 一獲^Mt塊,用于根據注冊表獲取HID設備作為USB設備的路徑;
第二獲IMt塊,與第 一獲取^莫塊相連,用于根據第 一獲取模塊中所述USB 設備路徑,在注冊表中獲取USB類驅動加載號;
第三獲:f^莫塊,與第二獲取模塊相連,用于根據HID設備的HID類驅動 和USB類驅動的加載關系,通過第二獲取;f莫塊中所述USB類驅動加載號獲取 HID類驅動加栽號;
匹配模塊,與第三獲^^莫塊、第一映射模塊、第二映射模塊相連,用于根 據第二映射模塊的映射關系中所述HID類驅動加載號獲得每一個第三獲^f莫 塊中所述HID類驅動加載號對應的HID設備路徑;根據第一映射模塊中所述 的設備路徑,為每個驅動加載號匹配對應的句柄。
本發(fā)明有益效果如下
由于HID設備首先是一個USB設備,所以對于HID設備,要加載USB 類驅動和HID類驅動。加栽順序是先加載USB類驅動然后再加載HID類驅動, 并且系統(tǒng)按遞增順序為每個加栽的驅動分配一個驅動加栽號,也就是在HID設 備的HID類驅動和USB類驅動加載號之間存在著特定的關系,在WINDOWS 中,對一個HID設備而言,其HID類驅動的驅動加載號是USB類驅動的驅動 加栽號加一,而這些驅動加載號可以在注冊表中的硬件鍵下獲取。當一個HID
設備插入后,USB類驅動獲取設備的硬件信息,在注冊表中的服務鍵HIDUSB 下添加一個表示HID設備插入順序值項,設備的USB路徑名作為該值項的值。 所以對于一個HID設備,可以在服務鍵下按其插入的順序獲得其USB路徑名。 然后可以在硬件鍵USB下訪問該USB路徑名所表示的鍵,通過訪問該鍵的相 關值項得到該i殳備的USB驅動加載號,該加栽號加一得到HID驅動加載號。 然后再在硬件鍵HID下獲取該HID驅動加載號對應的HID設備路徑。由于系 統(tǒng)提供了接口函數(shù)可以獲取HID設備路徑及對應句柄,所以通過該方法獲取的 與通過注冊表獲取的 一致的HID設備路徑對應的句柄即為符合要求的句柄。通 過該句柄即可完成對指定設備的操作。
基于上述原理,本發(fā)明采取的技術方案為首先遍歷所有VID和PID符合 要求的設備,獲取設備的句柄和對應的HID設備路徑。然后通過訪問注冊表中 的硬件鍵和服^#;獲取按插入順序排列好的HID設備路徑。最后比對兩次獲取 的設備路徑,按插入順序匹配排列的設備句柄。這樣就可以操作任意一個指定 的設備。
采用本發(fā)明,在具有相同的生產商號(VID)和產品號(PID)的多個HID 設備時,能夠準確的確定驅動信息與實際設備的對應關系,從而進行操作。
圖1為背景4支術中所述獲取設備句柄的流程示意圖; 圖2為實施例中所述fflD設備的驅動加載示意圖3為實施例中所述在多人機接口設備下匹配設備句柄與設備的方法實施 流程示意圖4為實施例中所述在多人機接口設備下匹配設備句柄與設備的方法另一 實施流程示意圖5為實施例中所述在多人機接口設備下匹配設備句柄與設備的系統(tǒng)結構 示意圖。
具體實施例方式
下面結合附圖對本發(fā)明的具體實施方式
進行說明。
對于一個插入的HID設備,注冊表在服務鍵HIDUSB的子鍵Enum會保 存該設備作為USB設備的系統(tǒng)服務信息,鍵Enum的值項O, 1, 2, ..., n對 應的值表示插入的第0, 1, 2, ..., n個HID設備作為USB設備的設備路徑。 鍵Enum的值項Count對應的值表示當前插入的HID設備的數(shù)目。服務鍵位于 根鍵HKEY—LOCAL—MACHINE分支的XSystenACurrentControlSeAServices子鍵 上。另外,作為一個USB設備,系統(tǒng)會在硬件鍵USB中存儲其作為一個USB 設備的信息,該分支下的包括多個子鍵,每個子鍵代表一種設備類型,每個子 鍵下又包含多個子鍵,其值項Driver對應的值包含該設備的USB類驅動加載 號。同樣,其作為一個HID設備,系統(tǒng)也會在硬件鍵HID中存儲其作為一個 HID設備的信息,該分支下的包括多個子鍵,每個子鍵代表一種設備類型,每 個子鍵下又包含多個子鍵,其值項Driver對應的值包含該設備的HID類驅動 加載號。設備的硬件鍵出現(xiàn)在注冊表中根鍵HKEY一LOCAL—MACHINE分支的 XSystenACurrentControlSet^num子鍵上。對于一個HID設備,其驅動的加載順 序首先加載USB類驅動,接著加載HID類驅動,并且HID類驅動的加載號等 于USB類驅動的加載號加1。圖2是fflD設備的驅動加栽示意圖。所以,對 于HID設備,可以首先在服務鍵HIDUSB中獲取設備插入序號,并得到其USB 設備路徑;根據此路徑在硬件鍵USB下中確定子鍵,獲取USB類驅動的加載 號,從而得到該設備的HID類設備加載號。用系統(tǒng)提供的HID接口函數(shù)獲取 所有符合要求HID的HID設備路徑及句柄,訪問硬件鍵HID下子鍵為HID設 備路徑的子鍵,獲取值項Driver對應的值,如果包含的HID類驅動加載號和 從USB類驅動加栽號計算的一致,則該HID設備路徑對應的句柄即為符合要 求的句柄。然后即可用系統(tǒng)提供的接口函數(shù)對設備進行操作。
圖3為在多人機接口設備下匹配設備句柄與設備的方法實施流程示意圖, 如圖所示,包括以下幾個步驟
步驟301、獲取設備句柄及對應的設備路徑。
遍歷所有VID和PID符合要求的HID設備,獲取設備句柄及對應的HID 設備路徑。
步驟302、根據注冊表獲取HID的設備個數(shù)。
本步驟中可以通過訪問服務鍵HIDUSB的包含硬件信息的子鍵Enum中值 項"Count"對應的值獲取插入的HID設備個數(shù);服務鍵位于根鍵 HKEY—LOCAL—MACHINE分支的XSysteiiACurrentControlSetXServices子鍵上。
實施中,如果要訪問第I個插入的設備,而插入的設備個數(shù)沒有這么多時, 它在、SystenACurrentControlSet、ServicesAiduslAenum中對應的名稱有可能不是 I,而是比I大的值。這種名稱與I值不對應的情況也會發(fā)生在插入的設備中含 有不符合要求的hid設備時,此時就要遍歷所有插入的設備。對于需要遍歷所 有設備的情形,可以通過設備數(shù)量來控制遍歷的次數(shù)。
當然,也可以在一開始通過句柄的個數(shù)來判斷。
步驟303、根據注冊表建立步驟301設備路徑與HID類驅動加載號的映射 關系。
本步驟中可以通過訪問硬件鍵HID的包含硬件及驅動信息的子鍵,子鍵名 為步驟301的獲取的所有HID設備路徑,訪問子鍵中表示驅動加載信息的值項 "Driver"對應的值獲取所有設備的HID類驅動加栽號。硬件鍵位于在注冊表 中根鍵HKEY—LOCAL—MACHINE分支的XSystem、CurrentControlSetVEnum子鍵上。
步驟304、根據注冊表獲取HID設備作為USB設備的路徑。 本步驟中可以通過訪問服M HIDUSB的包含硬件信息的子鍵Enum中表 示設備插入順序的值項對應的值得到每個HID設備作為USB設備的路徑。 步驟305、根據步驟304的USB設備路徑,在注冊表中獲取USB類驅動
力口載號o 本步驟中可以通過訪問硬件鍵USB的包含硬件及驅動信息的子鍵,子鍵 名為步驟4中得到的USB設備路徑,訪問子鍵中表示驅動加載信息的值項 "Driver"對應的值獲取所有設備的USB類驅動加載號。
步驟306、根據HID設備的fflD類驅動和USB類驅動的加栽關系,通過 步驟305的USB類驅動加載號獲取HID類驅動加載號。
本步驟中,實施時可以通過注冊表獲取到HID設備的HID類驅動和USB 類驅動的加載關系,具體是通過將USB驅動值加一獲取設備的HID類驅動加 載號。
步驟307、根據步驟303中HID類驅動加栽號獲得每一個步驟306中HID 類驅動加栽號對應的HID設備路徑。
對于每一個步驟306中的HID驅動加栽號,在步驟303中尋找與其相同的 HID驅動加載號,與該驅動加載號對應的子鍵名即為設備的HID設備路徑。
步驟308、根據步驟301的設備路徑,為每個驅動加載號匹配對應的句柄。
在步驟301中,與該設備路徑對應的句柄即為與步驟306中每個驅動加載
號對應的句柄,設備和句柄按插入順序建立--對應的匹配關系。
步驟309、利用句柄操作指定設備。
為進一步描述本發(fā)明的具體實施,下面再舉一例進行說明,實施例中假設 要搡作的HID設備的PID和VID分別為0412和163c,插入的設備總數(shù)為N。
圖4為在多人機接口設備下匹配設備句柄與設備的方法另一實施流程示意 圖。如圖所示,實施步驟為
步驟401、獲取HID的GUID;
步驟402、獲取所有HID的設備信息;
步驟403、獲取設備路徑;
步驟404、獲取設備句柄;
步驟405、獲取設備VID和PID;
步驟406、判斷設備是否符合要求,是則轉入步驟408,否則轉入步驟407;200610114047.6說明書第9/12頁
步驟407、關閉"i殳備句4丙;
步驟408、判斷設備是否遍歷完畢,是則轉入步驟409,否則轉入步驟403;
步驟409、獲取設備HID的驅動加載號1;
步驟410、獲取HID設備總數(shù);
步驟411、獲取設備的USB路徑;
步驟412、判斷設備是否符合要求,是則轉入步驟413,否則轉入步驟414;
步驟413、保存設備的USB路徑;
步驟414、判斷路徑是否獲取完畢,是則轉入步驟415,否則轉入步驟411;
步驟415、獲取USB驅動加載號;
步驟416、計算HID驅動加載號2;
步驟417、比對HID驅動加載號1和2;
步驟418、獲得各個設備對應的句柄;
步驟419、按句柄操作多設備;
步驟420、關閉句柄。
由以上實施可以看出,首先獲取符合PID和VID所有的HID設備的句柄和 HID設備路徑。假設第i個插入的設備其設備路徑名形如
"\\ \HID#vid—163c&pid_0412#6&2a71b94f&0&0000#,,,句柄存放在Handle[i] 中,i取值為0,1,2,...,N。然后獲取所有HID設備的HID驅動加栽號存放在 Driver[i]中。以獲取第i個設備的驅動加栽號為例,在注冊表中訪問硬件鍵HID 分支下子鍵為Vid_163c&Pid—0412的子鍵為6&2a71b94f&0&0000的值項為 Driver的 對 應 的 值 , j叚 設 為
"{745A17A0-74D3-11D0-B6FE-00A0C9F57D1}\0004,,,則該設備的HID驅動 加載號為0004,將其存放在Driver[i]中,設備的句柄Handle[i]和Driver[i]—— 對應,這樣就完成了設備HID驅動加載號的獲取。
在注冊表中訪問服務鍵HIDUSB下子鍵Enum的值項Count對應的值,獲 取插入HID設備的總數(shù)。此處Count對應的值是所有的HID,包括其它類型的
HID設備。在此假設Count對應的值為M,此時M大于等于N。當沒有其它 類型的HID設備時,M等于N;否則,M大于N。獲取值項i對應的值,其值 形如"USB\ Vid—163c&Pid_0412\5&25de5bc9&0&2,,,存放"5&25de5bc9&0&2,, 至path[i]。如果值項i對應的值中PID和VID不是0412和163c,則說明第i 個插入的是不同類型的設備,則繼續(xù)訪問值項^=1+1,1+2,...,1^)
對應的值,直至值中PID和VID為0412和163c,存放值中對應的類 似"5&25de5bc9&0&2"的字符串至path[i]。這樣就完成了所有符合要求HID設 備USB路徑的獲取。
在注冊表中訪問硬件鍵USB分支下子鍵為Vid—163c&Pid一0412的子鍵為 path[i] 值項為 Driver 的 對應的<直, 作支 i殳為 "{745A17A0-74D3-11D0-B6FE-00A0C9F57D1}\0007,,,則第i個設備的USB 驅動加載號為0007,其將其加1得到HID驅動加載號為0008,存方文在 HIDDriver[i]中。取i為0到N即可獲取所有的HID驅動加栽號。
與HIDDriver[i]相同的Driver(j]對應的Handle[j]即為第i個插入的PID和 VID為0412和163c的HID i殳備的句柄。
根據Handle[j]利用Windows系統(tǒng)提供接口函數(shù)即可操作第i個插入的設備。 從而實現(xiàn)了按插入順序操作設備。
基于同樣的發(fā)明構思,本發(fā)明還提供了一種在多人機接口設備下匹配設備 句柄與設備的系統(tǒng),用于當存在HID生產廠商號與產品號相同時設備與句柄的 匹配,下面結合附圖對本系統(tǒng)的具體實施進行說明。
圖5為在多人機接口設備下匹配設備句柄與設備的系統(tǒng)結構示意圖,如圖 所示,實施例系統(tǒng)中包括第一映射模塊501、第二映射模塊502、第一獲取 模塊503、第二獲^4莫塊504、第三獲^f莫塊505、匹配模塊506,其結構關系 為
第二映射模塊502與第一映射模塊501相連,第二獲取^莫塊504分別與第 一獲W^塊503、第三獲取溪塊505相連,匹配模塊506分別與第三獲取漠塊505、第一映射模塊501、第二映射模塊502相連。
實施時,第一映射模塊獲取設備句柄及對應的設備路徑后建立設備句柄與 設備路徑的映射關系;第二映射模塊根據注冊表建立設備路徑與HID類驅動加 載號的映射關系;第一獲取漠塊根據注冊表獲取HID設備作為USB設備的路 徑;第二獲取模塊根據第一獲取模塊中USB設備路徑,在注冊表中獲取USB 類驅動加栽號;第三獲取模塊HID設備的扭D類驅動和USB類驅動的加載關 系,通過第二獲取模塊中USB類驅動加載號獲取HID類驅動加載號;匹配模 塊根據第二映射模塊的映射關系中RID類驅動加載號獲得每一個第三獲^4莫 塊中HID類驅動加載號對應的HID設備路徑,根據第一映射模塊中的設備路 徑,為每個驅動加載號匹配對應的句柄。
優(yōu)選實施中,可以根據注冊表的服務鍵HIDUSB包含的硬件信息獲取HID 設備個數(shù)的。
第二映射單元根據注冊表的硬件鍵HID包含硬件及驅動信息的子鍵獲取 設備的HID類驅動加載號的。根據子健中子鍵名為第一映射單元中獲取的HID 設備路徑,訪問子鍵中表示驅動加栽信息的值項"Driver"對應的值獲取設備 的HID類驅動加載號。
第一獲^f莫塊根據注冊表中服,fflDUSB包含硬件信息的子鍵Enum中 表示設備插入順序的值項對應的值得到每個HID設備作為USB設備的路徑的。 第二獲^:莫塊根據注冊表中硬件鍵USB包含硬件及驅動信息的子鍵中,子鍵 名為第一獲^Mi塊中USB設備路徑,訪問子鍵中表示驅動加栽信息的值項對 應的值獲取設備的USB類驅動加載號。
第三獲取溪塊通過第二獲^^莫塊中USB類驅動加載號加一后獲取HID類 驅動加栽號。
通過以上對本發(fā)明具體實施的描述,顯然,本發(fā)明的精髓在于利用注冊表 及HID設備的HID類驅動和USB類驅動的加載關系以及設備間驅動的加載關 系獲取設備的句柄。本領域的技術人員可以對本發(fā)明進行各種改動和變型而不
脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權 利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1、一種在多人機接口設備HID下匹配設備句柄與設備的方法,在HID生產廠商號與產品號相同時,其特征在于,包括如下步驟獲取設備句柄及對應的設備路徑,根據注冊表獲取所述設備路徑與HID類驅動加載號的映射關系,以及HID設備作為USB設備的路徑,所述USB設備路徑在注冊表中的USB類驅動加載號;根據HID設備的HID類驅動和USB類驅動的加載關系,通過所述USB類驅動加載號獲取HID類驅動加載號;根據所述HID類驅動加載號獲得每一個所述HID類驅動加載號對應的HID設備路徑;根據所述設備路徑,為每個驅動加載號匹配對應的句柄。
2、 如權利要求l所述的方法,其特征在于,所迷HID設備的HID類驅動 和USB類驅動的加載關系是通過注冊表獲取的。
3、 如權利要求l所述的方法,其特征在于,所述HID類驅動加載號,是 根據注冊表的硬件鍵HID包含硬件及驅動信息的子鍵獲取設備的HID類驅動 加載號。
4、 如權利要求3所述的方法,其特征在于,根據所述子健中子鍵名為所 述HID設備路徑,訪問子鍵中表示驅動加載信息的值項"Driver"對應的值獲 取所述設備的HID類驅動加載號。
5、 如權利要求2所述的方法,其特征在于,所述USB設備的路徑,是根 據注冊表中服^^HIDUSB包含硬件信息的子鍵Enum中表示設備插入順序的 值項對應的值得到每個HID設備作為USB設備的路徑。
6、 如權利要求l所述的方法,其特征在于,所述USB類驅動加載號,是 根據注冊表中硬件鍵USB包含硬件及驅動信息的子鍵中,子鍵名為所述USB 設備路徑,訪問子鍵中表示驅動加栽信息的值項對應的值獲取所述設備的USB 類驅動加栽號。
7、 如權利要求1中所述的方法,其特征在于,所述HID類驅動加載號, 通過所述USB類驅動加載號加一后獲取HID類驅動加栽號。
8、 一種在多人機接口設備下匹配設備句柄與設備的系統(tǒng),在HID生產廠 商號與產品號相同時,其特征在于,包括第一映射模塊、第二映射模塊、第一 獲取模塊、第二獲^Mt塊、第三獲^^莫塊、匹配模塊,其中第一映射模塊,用于獲取設備句柄及對應的設備路徑后建立設備句柄與設 備路徑的映射關系;第二映射模塊,與第一映射模塊相連,用于根據注冊表建立所述設備路徑 與HID類驅動加栽號的映射關系;第一獲^4莫塊,用于根據注冊表獲取HID設備作為USB設備的路徑;第二獲^Mt塊,與第 一獲取漠塊相連,用于根據第 一獲和漢塊中所述USB 設備路徑,在注冊表中獲取USB類驅動加載號;第三獲^^莫塊,與第二獲^^莫塊相連,用于根據HID設備的HID類驅動 和USB類驅動的加栽關系,通過第二獲取模塊中所述USB類驅動加載號獲取 HID類驅動加栽號;匹配模塊,與第三獲取模塊、第一映射模塊、第二映射模塊相連,用于根 據第二映射模塊的映射關系中所述RID類驅動加載號獲得每一個第三獲取模 塊中所述HID類驅動加載號對應的HID設備路徑;根據第 一映射模塊中所述 的i殳備路徑,為每個驅動加載號匹配對應的句柄。
全文摘要
本發(fā)明公開了HID的匹配設備句柄與設備的方法及系統(tǒng),在HID生產廠商號與產品號相同時,根據系統(tǒng)接口函數(shù)獲取設備句柄及對應的設備路徑,根據注冊表獲取設備路徑與HID類驅動加載號的映射關系,以及HID設備作為USB設備的路徑,USB設備路徑在注冊表中的USB類驅動加載號;根據HID設備的HID類驅動和USB類驅動的加載關系,通過USB類驅動加載號獲取HID類驅動加載號;根據HID類驅動加載號獲得每一個HID類驅動加載號對應的HID設備路徑;根據設備路徑,為每個驅動加載號匹配對應的句柄。本發(fā)明運用在多個HID設備時,能夠準確的確定設備句柄與實際設備的對應關系,從而進行操作。
文檔編號G06F9/46GK101169732SQ20061011404
公開日2008年4月30日 申請日期2006年10月25日 優(yōu)先權日2006年10月25日
發(fā)明者李文鋒 申請人:北京握奇數(shù)據系統(tǒng)有限公司