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

时间:2018-01-22 16:30:15

标签: uwp hid wiimote

我试图在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>

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

1 个答案:

答案 0 :(得分:2)

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

将一些#defines视为粘贴here。此数字转换为HID_USAGE_PAGE_GENERIC

查看MS Documentation它说它限制访问包含所需内容的某个页面:/

因此,如果wiimote使用与joycon相同的页面,那么它看起来很糟糕。

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