8

通过将 PNP 设备插入 Windows PC,我想知道该设备是否支持数据传输功能。我主要有兴趣将一些内容推送到设备。因此,例如,当我插入 Windows Phone 时,我可以通过 Windows 管理查询看到添加了 5 个新设备

名称:Windows 电话

CompartibleId:USB\MS_COMP_MTP、USB\Class_06&SubClass_01&Prot_01、USB\Class_06&SubClass_01、USB\Class_06


名称:WinUsb 设备

CompartibleId:USB\MS_COMP_WINUSB、USB\Class_ff&SubClass_ff&Prot_ff、USB\Class_ff&SubClass_ff、USB\Class_ff


名称:WinUsb 设备

CompartibleId:USB\MS_COMP_WINUSB、USB\Class_ff&SubClass_ff&Prot_ff、USB\Class_ff&SubClass_ff、USB\Class_ff


名称:WinUsb 设备

CompartibleId:USB\MS_COMP_WINUSB、USB\Class_ff&SubClass_ff&Prot_ff、USB\Class_ff&SubClass_ff、USB\Class_ff


名称:USB复合设备

CompartibleId:USB\DevClass_00&SubClass_00&Prot_00、USB\DevClass_00&SubClass_00、USB\DevClass_00、USB\COMPOSITE

我现在怎样才能得到一种胶水:

  • 所有设备都是单个设备的一部分
  • 该设备允许我在其上保存文件
  • 找到一个可以告诉我有关支持的文件传输协议的指标
  • 如果文件传输的可能性不止一种,请选择更快(或现代)的

即使您可以告诉我一个重点方向,我也会继续我的学习/调查。

我正在寻找一种使用设备的通用方式。所需的实现语言是 C#。

4

1 回答 1

1

首先,您可以查阅此代码项目,它为您提供了 Windows 设备驱动程序的详细信息。
SharpUSBLibHidLibrary是两个广泛使用的库,您甚至可以在此处获得一个带有实现的教程项目。
SharpUsbLib 早期版本用于搞砸系统。

更喜欢libusbdotnet。如果您必须使用 USB 设备(发送请求、处理响应),这个库是我能找到的最佳解决方案。

优点:

拥有在同步或异步模式下工作所需的所有方法。源代码提供了足够的示例,可以立即开始使用它。

缺点:

糟糕的文档(这是开源项目的常见问题)。基本上,您可以在 CHM 帮助文件中找到常见的方法描述,仅此而已。但我仍然发现提供的示例和源代码足以进行编码。只是有时我看到一个奇怪的行为,想知道为什么它以这种方式实现,甚至无法得到提示......似乎不再受支持。上一个版本是 2010 年 10 月发布的。有时很难得到答案。

于 2015-05-14T07:12:47.863 回答