You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP项目集成Chainway R3扫描器C DLL时OpenUSB返回错误6求助

Chainway R3条码扫描器UWP集成失败:OpenUSB返回错误码6

我正尝试将Chainway R3条码扫描器集成到Universal Windows Platform(UWP)项目中。设备厂商提供了C语言编写的DLL,在C#控制台项目中测试该DLL功能正常,但适配UWP项目时,调用DLL的OpenUSB函数返回错误码6,对应文档中的“ERR_OPEN_USB_FAILURE”。


现有配置与代码

package.appxmanifest权限配置

<Capabilities>
    <Capability Name="internetClient" />
    <DeviceCapability Name="humanInterfaceDevice"/>
    <DeviceCapability Name="hidTelephony"/>
    <DeviceCapability Name="usb"/>
</Capabilities>

MainPage.xaml.cs核心代码

private void Button_Click(object sender, RoutedEventArgs e)
{
    uhf = UHFAPI.getInstance();
}

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    if (uhf != null)
    {
        uhf.OpenUsb();
    }
}

private void Button_Click_2(object sender, RoutedEventArgs e)
{
    if (uhf != null)
    {
        var version = uhf.GetHardwareVersion();
        System.Diagnostics.Debug.WriteLine(version);
    }
}

其他资源

  • 自定义UHFAPI C#封装类(包含对原生DLL的P/Invoke声明)
  • 厂商提供的UHFAPI.dll、配套lib及头文件
  • 相关截图:
    • OpenUSB函数调用错误截图
    • 设备管理器设备识别状态截图
    • package.appxmanifest权限配置截图
    • DLL依赖项检查截图

解决思路

  1. 补全USB权限精确配置
    UWP的通用usb权限无法让应用访问特定USB设备,必须在package.appxmanifest中指定设备的VID、PID和设备类:
  • 从设备管理器获取Chainway R3的VID(厂商ID)和PID(产品ID)
  • 修改权限配置为:
<DeviceCapability Name="usb">
  <Device Id="vidpid:XXXX YYYY">
    <Function Type="classId:FF * *"/>
  </Device>
</DeviceCapability>

替换XXXX、YYYY为实际的VID/PID值,classId根据设备实际USB类调整(条码扫描器通常为FF自定义类)

  1. 验证DLL的UWP兼容性
    桌面项目使用无沙箱的权限模型,而UWP运行在沙箱中,原生DLL可能调用了UWP禁止的Win32 API:
  • 联系厂商确认是否有UWP专用版本的SDK
  • 若无专用版本,改用**桌面桥(Desktop Bridge)**打包项目,获得接近桌面应用的权限,从而兼容原DLL
  1. 检查P/Invoke声明的正确性
    核对UHFAPI封装类中的P/Invoke签名:
  • 确保[DllImport]的调用约定、字符集与原生DLL完全匹配
  • 避免使用UWP不支持的内存操作方式,比如非法指针传递或未授权的内存访问
  1. 确认设备状态
  • 确保设备未被其他进程占用(关闭之前运行的控制台测试程序)
  • 检查设备管理器中设备驱动是否正常安装,无黄色感叹号

内容的提问来源于stack exchange,提问作者Firman Jamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:29:56