如何在UWP应用程序中访问FTDI USB设备?
我用他们的FTDI来访问USB设备。当包装器在.NET Framework或.NET核心控制台应用程序中使用时,它会按预期工作。但是,当我在UWP(通用Windows平台)应用程序中使用包装器时,它不会:如何在UWP应用程序中访问FTDI USB设备?,uwp,usb,ftdi,Uwp,Usb,Ftdi,我用他们的FTDI来访问USB设备。当包装器在.NET Framework或.NET核心控制台应用程序中使用时,它会按预期工作。但是,当我在UWP(通用Windows平台)应用程序中使用包装器时,它不会: GetNumberOfDevices/FT\u CreateDeviceInfo列表报告连接的设备的正确数量 GetDeviceList/FT\u getDeviceInfo详细信息返回空的FT\u设备信息节点元素,值为1的标志字段除外。根据标志1,表示“端口打开” 如果我用一个应用程序实例打
GetNumberOfDevices
/FT\u CreateDeviceInfo列表
报告连接的设备的正确数量
GetDeviceList
/FT\u getDeviceInfo详细信息
返回空的FT\u设备信息节点
元素,值为1的标志
字段除外。根据标志1,表示“端口打开”
如果我用一个应用程序实例打开设备并尝试用另一个实例访问它,我可以在我的非UWP应用程序中观察到类似的效果。但我没有在UWP中打开设备,因为我无法获得所需的设备信息,也不知道如何关闭它。我确信没有其他正在运行的应用程序打开了该设备。如果我关闭UWP应用程序并启动非UWP应用程序,它工作正常
在应用程序清单中,无论是否具有以下功能,我都看到了相同的行为(我正在为设备的VID和PID使用正确的值):
此外,在设备管理器中,USB设备有时会出现“设备未迁移到部分或不明确匹配”警告。我将驱动程序更新为最新版本2.12.28,但仍然收到警告。不确定这是否是问题,因为驱动程序正在为非UWP应用程序工作
UWP应用程序在记录设备/USB/驱动程序使用方面是否有任何限制
提前感谢。您是否尝试过官方软件,看看它是否有效?是的,我尝试过该示例,但应用程序无法找到该设备。我将该功能添加到清单中,在初始化的代理软件(Scenarion1)中使用我的VID和PID添加了一个监视程序,并为设备安装了windusb.sys驱动程序。即使这会找到devcie,我也需要重写我的应用程序,使其不依赖于ftd2x.dll提供的函数。在使用winusb.sys驱动程序时,我仍然会收到“设备未迁移到部分或不明确匹配”警告。@wierob找到解决方案了吗?我现在面临着一个类似的问题…根据微软的支持,不可能直接从UWP应用程序使用FTDI USB驱动程序。建议的解决方案是嵌入一个处理USB通信的完全信任Win32应用程序,并在完全信任组件和主UWP应用程序之间建立某种进程间通信
<Capabilities>
<iot:Capability Name="lowLevelDevices" />
<DeviceCapability Name="usb">
<Device Id="vidpid:XXXX XXXX">
<Function Type="name:vendorSpecific" />
</Device>
</DeviceCapability>
</Capabilities>