〔摘要〕在首席机中,经过人机轮流界间的,用功Windows补充的API有或起功能,HID安装用功会见的赚得。点明呼唤API有或起功能的工序和办法,并支付赚得办法的详细案件。
中国1971纸业网 /8/
[关键词]首席机;USB_HID;Visual C++;人机电话机话筒安装
1。引见
USB的全名是货币的。 Serial 公用通道(货币串行公用通道),它很快、灵活性公用通道电话机话筒。在USB涌现屯积,计算器电话机话筒在传送急行在实地任务的具有较低的急行。,照料使成为I/O抵触,不克不及截断的缺陷。
人机电话机话筒安装(HID)是许多的人互相交流的一种安装。,像作键盘式排字机排字、鼠标、游玩杆等;除了HID安装未必是that的复数人机轮流安装。,假如心甘情愿的HID安装限界合格的的查问。HID安装具有以下首要特征:
(1)书信交替贮存在日记机构中,该安装本质的支集HID空话体式。。
(2)每个事务可以随带大批或平均的全部含义的书信。。每个安装的低速安装至多有8八位位组。,全速安装每支笔64八位位组,快车道安装的达到高峰是1024八位位组。;
(3)限度局限最大传送急行。低速安装走得快10ms的一次市,绝顶急行是800 b/s。;全速安装走得快1ms的一次市,绝顶急行是64kb/s。;快车道安装走得快的125—笔市,绝顶急行是。
如安在用功周围的事物中会见HID类安装?在WI下,用户不准直的会见用功顺序切中要害五金器具安装,用功顺序本质的经过感情区桥会见五金器具安装。,很感情区桥是安装球棒。。从Windows 98Mac 手感零碎开端,为HID安装补充货币球棒,到这地步,地面详细情况写信安装的固件顺序。,可以容许Windows零碎自动身份证明安装,防腐处理复杂的球棒写信工序。
2.Visual C 字母表
由于MFC的用功 AppWistor的用功。微软(MFC) Foundation Class 书斋切中要害各式各样的类方式了任一用功组织。,其致力于是在此基础上在Windows下体系用功顺序。,这是一种比SDK更简略的办法。。由于普通,MFC组织限界了用功顺序的抽象派的。,补充了用户界间的的规范赚得办法。,您需求做的是用TH的假定电话机话筒填写略述。。Microsoft Visual C 补充的器来做这项任务:AppWistar合用的于使成为初始组织证件(密码和资源);资源校订者用于扶助目镜地设计用户界间的。;Class试点用于扶助向组织证件添加密码。;最近的,编制,则经过类库赚得了用功顺序假定的逻辑。
三。与HID相关性的窗口 API有或起功能
Windows为用功顺序会见HID安装补充了壮大的支集,有一套未受损伤的的API会见HID安装,使具体化在、、在DLL文档中,与HID安装的一致、搜索身份证明安装、书信交替的功能。在DD的扶助下可以找到文档中API有或起功能的用功。。文档切中要害API有或起功能定居MSDN中。 书斋室内的。
4。用功顺序设计赚得
用功顺序本质的率先细目安装会见安装。,细目细目数成后又来的安装句柄。,您可以经过读取证件和写证件来读取和写信反映书信。。这边是一种异步读取和写信反映书信的办法。,看懂和文字时弱障碍。,放顺序生产力。
在赚得HID会见屯积,率先,找到称呼委任的供应者ID、制造ID和制造序列号的HID。查找称呼委任安装的工序列举如下:
呼唤有或起功能HIDDGEGIDIDGUID获取USB安装的GUID;
呼唤有或起功能,获介绍娼妓分使具体化持有HID书信的机构排列的手指。,接下来,地面很排列逐项查找称呼委任的HID项。;
呼唤有或起功能设置,填写SPI安装电话机话筒书信机构的书信项,此机构用于识别HID安装电话机话筒。;
呼唤有或起功能,获介绍娼妓分安装的方向名;
呼唤有或起功能CreateFile,获取安装句柄;
呼唤有或起功能HIDDGET属性,填写HIDDIAL属性机构的书信项,该机构使具体化安装的厂主ID。、制造ID和制造序列号,本着这些数值决定该安装倘若是查找的安装。
查找HID的工序如图1所示。。
VC赚得的查找工序描画。
(1)赢得GUID
在用功顺序与HID安装一致屯积,本质的率先赢得HID类别的GUID(大局)。 Unique Indentifer)。GUID是任一128位的值,每个靶子都有最适当的的GUID。。HID类别的GUID使具体化在文档中。,可以请教,或许用功HIDDGEGIDIDGUID有或起功能获取HID类的GUID。。
GUID guidHID;
HidD_GetHidGuid(&guidHID);
(1)获取HID的机构排列
获取GUID后呼唤SETUP DigETCL
assDevs有或起功能传回持有早已衔接而且检测过的HID使具体化其书信的机构排列的地址。
HDEVINFO hDevInfo=SetupDiGetClassDevs(&guidHID,NULL,0,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);
(2)HID电话机话筒的身份证明
下任一电话机:SetupDiEnumDe
viceInterfaces,放轻脚步走SPI安装
电话机话筒书信机构的书信项,此机构用于识别HID安装电话机话筒。。
BOOL bSuccess=SetupDiEnumDeviceInterfaces(hDevInfo,NULL,&guidHID,0,
strtInterfaceData);
(3)获取安装方向
上面是经过呼唤StupDigeDeV
冰界间的底细有或起功能被用来赢得另任一机构。:
SP_DEVICE_INTERFACE_DETAIL_DATA。此机构与前任一有或起功能SetupDiEnumDeviceInterfaces所身份证明的安装电话机话筒参与。机构的DeVePePATH围攻是安装方向。,用功顺序可以用功此方向与安装举行一致。。
BOOL bResult =SetupDiGetDeviceInterfaceDetail(hDevInfo,strtInterfaceData,NULL,0,&requiredLength,空)
(4)获取安装句柄
在赢得安装的方向过后,您可以预备开端与安装一致。。用功CealFeFLE翻开HID安装,欢迎很安装的句柄,用功安装的句柄与安装交替书信。当不需求会见此安装时,必然要呼唤CIoseHandle有或起功能来合上安装并发布的新闻TH。。
hCom=CreateFile(m_strPath,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,空)
(5)安装厂主、制造ID和制造序列号
识别安装倘若是本质的的安装,只比拟很安装的厂主和制造ID。HidD_GetAttributes有或起功能用来介绍娼妓任一使具体化坚定的与制造ID又制造的版本号码的机构。
HidD_GetAttributes(hCom,&strtAttrib)
(6)合上一致
当用功顺序完毕与HID的一致时,本质的发布的新闻持有在前保存的资源。。触及AP的各自的 i有或起功能列举如下
BOOL HidD-Free PreparsedData(IN PHIDP-PR EPARSED-DA TA Prepar sedData);
它的使发生是经过HIDD赢得的 预备书信有或起功能又来的预备书信缓冲器。
有或起功能Set upDiDestroyDevice 对限界者的限界列举如下
BOOL SetupDiDest royDevice InfoList
(HDEVINFO Device 书信网)
其功能是发布的新闻由SetupDiGetClassDevs有或起功能传回的hDevInfo排列。最近的,用功CutoWrad有或起功能合上一致,发布的新闻持有在前保存的资源。
5。第三方进行反省
顺序密码编制后,可以用第三方的UBSHID软件举行棘手的。Report ID设置为01,棘手的音讯是103科学实验报告,发送消息:68 00 0f 68 28 00 15 81 2a 00 fe f1 00 01 00 06 00 00 0a 28 23 16(譬如,图2)。棘手的后果可作为VC密码合法性的请教。。
6。总结
用功VC训练,把持计算器底部五金器具的手感,用功球棒作为诠释,把VC++顺序切中要害排列密码替换成USB安装可以身份证明的书信传送到单片机中,USB安装的把持。在VC周围的事物下用功MFC用功顺序组织,人机轮流界间的的功绩,用USB发送和接纳音讯,并在通信的的校订者框中显示。使完美指挥者与安装当中的轮流。
Windows补充了与HID安装一致的API有或起功能。,该用功顺序可以由随便哪一个计算器语言呼唤。。Windows周围的事物下USB用功顺序的功绩:在用功顺序可以开端与HID交替书信屯积,用功顺序本质的率先身份证明安装并读取其空话书信。,这些举措需求呼唤一堆API有或起功能。。用功顺序率先需求找出有先行词HID安装衔接到T。,因此反省每个书信,直到找到所需的属性。。
请教文献
〔1〕邱刚,王玮。用VC 写信USB人机界间的类一致,2005,20(5):76-78.
〔2〕学园园。Zhao Jian Ling.USB用功功绩宝藏[M],2011.
〔3〕胡晓军,USB电话机话筒功绩技术[M]。西安:西安电子,2005.
〔4〕萧世文,宋艳庆。五金器具设计[M]。现时称Beijing:清华大学新闻报道。,2006.
〔5〕(美国)开展Daquan(四个一组之物版)[M]。李鸿鹏,等,译.现时称Beijing:人民邮电新闻报道,2011.
〔6〕Sun Xin,余安平. VC 深化解说[M]。现时称Beijing:电子工业新闻报道,2006.
【7】钱能C 顺序设计导师的[M].。现时称Beijing:清华大学生守则,1999.
发起人:
王紫军(1981—),男,哈尔滨师范大学计算器科学与技术专业卒业,电弧分程传递股份有限公司哈尔滨研究与开发感情设计师,首要务电力零碎监控的功绩和用功。
孙楚平(1990—),男,我现时念书于华北开放大学可再生能源建立。

请选定转载的寻求的来源。原文地址:

https://www.xzbu.com/8/

发表评论

电子邮件地址不会被公开。 必填项已用*标注