【问题标题】:UWP HID SendOutputReport always returns access denied, requires ReadWrite permissionsUWP HID SendOutputReport 总是返回拒绝访问,需要读写权限
【发布时间】:2018-07-01 08:32:01
【问题描述】:

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

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

我尝试了几种权限组合,我可以使用清单中的当前权限正常读取,但我还不能写入。

我也试过弄乱选择器,看看是否有另一个可能的句柄可以写,但是,唉,什么都没有。

任何见解将不胜感激。

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>

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

【问题讨论】:

    标签: uwp hid wiimote


    【解决方案1】:

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

    查看粘贴的一些#defines here。这个数字转换为HID_USAGE_PAGE_GENERIC

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

    所以如果wiimote使用和joycon相同的页面,看起来很糟糕。


    我还是希望你能找到解决办法,我也可以用。

    【讨论】:

    • "wiimote 使用与 joycon 相同的页面" - 很确定 wiimote 正好在页面 0x04 和 0x05,与通用游戏控制器相同。这是滥用 HID 规范的 wiimote 吗(无论如何它从未符合)?
    • @MoDu 抱歉,我的机器好几天没有回复了。我刚刚在选择器中使用 UssagePage 0x04 或 0x05 再次检查,没有结果。只有 0x01 有效。在您链接的 GitHub 存储库中,也使用了 ussagePage 0x01GetDeviceSelector(...) 的第一个参数是 UssagePage。使用 5 的第二个参数是使用 ID。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-08
    • 2017-06-20
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多