UKEY通信各个应用的流程介绍--枚举设备

1 枚举设备:因为微软已经提供USB驱动程序开发API接口,所以使用此API接口,进行设备枚举。标准函数接口:ULONG DEVAPI SKF_EnumDev(BOOL bPresent, LPSTR szNameList, ULONG *pulSize)输入参数:bPresent  [IN]  为 TRUE 表示取当前设备状态为存在的设备列表。为 FALSE 表示取当前驱动支持的设备列表
摘要由CSDN通过智能技术生成

1 枚举设备:因为微软已经提供USB驱动程序开发API接口,所以使用此API接口,进行设备枚举。

标准函数接口:ULONG DEVAPI SKF_EnumDev(BOOL bPresent, LPSTR szNameList, ULONG *pulSize)

输入参数:bPresent  [IN]  为 TRUE 表示取当前设备状态为存在的设备列表。为 FALSE 表示取当前驱动支持的设备列表。
                    szNameList  [OUT]  设备名称列表。如果该参数为 NULL,将由 pulSize 返回所需要的内存空间大小。每个设备的名称以单个‘\0’结束,以双‘\0’表示列表的结束。
                    pulSize  [IN ,OUT]  输入时表示设备名称列表的缓冲区长度,输出时表示szNameList 所占用的空间大小。

实现:分为HID通信,USB Mass Storage,SCSI

1:HID通信,SCSI:两者区别在于设备类别不一样 ,也就是GUID值不同,例子中为HID通信

HidD_GetHidGuid(&HID_Guid);获得HID的GUID值;

然后通过hDevInfo=SetupDiGetClassDevs(&HID_Guid,NULL,NULL,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);函数获得满足该GUID值的设备列表

或者通过hDevInfo=SetupDiGetClassDevs(&GUID_DEVINTERFACE_CDROM,NULL,NULL,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);函数获得满足SCSI通信协议的

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值