UWP HID SendOutputReport 始终返回访问被拒绝,需要读写权限

标签 uwp hid wiimote

我正在尝试在 UWP 应用程序 (C# .net) 中使用 HID 类读取 Wii Remote ,类似于 this .

但是,我似乎无能为力,因为我无法获得可写的 HID 句柄,而这是执行 HID SendOutputReport(设备配置所需)所需的。

我已经尝试了几种权限组合,我可以使用 list 中的当前权限很好地读取,但我还无法写入。

我也尝试过修改选择器,看看是否还有另一个可以写入的可用句柄,但可惜,什么也没有。

任何见解都将非常感激。

Public discussion. Similar issue

我当前使用的权限如下所示。

<Capabilities>
    <DeviceCapability Name="bluetooth" />    
    <DeviceCapability Name="humaninterfacedevice">
      <!-- Any generic gaming device  -->   
      <Device Id="any">
        <Function Type="usage:0004 *"/>
        <Function Type="usage:0005 *"/>
      </Device>
      <!--Wii Remote Device-->
      <Device Id="vidpid:057E 0306 bluetooth">
        <Function Type="usage:0005 *" />
        <Function Type="usage:0001 0005" />
        <Function Type="usage:0002 *" />
        <Function Type="usage:0003 *" />
        <Function Type="usage:0004 *" />
        <Function Type="usage:0006 *" />
        <!--<Function Type="usage:0007 *" />-->
        <Function Type="usage:0008 *" />
        <Function Type="usage:0009 *" />
        <Function Type="usage:000A *" />
        <Function Type="usage:000B *" />
        <Function Type="usage:000E *" />
        <Function Type="usage:000f *" />
        <Function Type="usage:0010 *" />
        <Function Type="usage:0011 *" />
        <Function Type="usage:0012 *" />
        <Function Type="usage:0013 *" />
        <Function Type="usage:0014 *" />
        <Function Type="usage:0015 *" />
        <Function Type="usage:0016 *" />
        <Function Type="usage:0017 *" />
        <Function Type="usage:0018 *" />
        <Function Type="usage:0019 *" />
        <Function Type="usage:001A *" />
        <Function Type="usage:001B *" />
        <Function Type="usage:001C *" />
        <Function Type="usage:001D *" />
        <Function Type="usage:001E *" />
        <Function Type="usage:001F *" />
        <Function Type="usage:0021 *" />
      </Device>
    </DeviceCapability>
  </Capabilities>

编辑:添加了类似的问题。

最佳答案

我目前正在为开关 Controller 解决同样的问题。至少对于开关 Controller 来说,它使用UsagePage 0x01

查看粘贴的一些 #define here 。此数字转换为 HID_USAGE_PAGE_GENERIC

查看MS Documentation它说它限制对某些页面的访问,其中包括所需的:/

因此,如果 Wiimote 使用与 Joycon 相同的页面,看起来会很糟糕。

<小时/>

我仍然希望你能找到解决方案,我也可以使用一个。

关于UWP HID SendOutputReport 始终返回访问被拒绝,需要读写权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48386179/

相关文章:

xaml - UWP 中 ComboBox 的 CompositeCollection 的替代方案?

从wiimote中提取配对码的C代码,奇怪的结果

windows - NavigationView中的UWP ListView,仅呈现第一个子级

c# - UWP,如何从 StreamSocket 读取所有数据

c++ - 从 .pcap 文件中获取 HID 报告描述符

c# - 如何枚举所有的HID设备? C#

arduino - Digispark 读取大写锁定状态

c++ - 减少 wiimote 俯仰/滚动变化

C# Wii Mote 手势识别

javascript - 如何从 UWP c# 上的 appdata 中的 html 接收 scriptNotify