尝试从Mac上的HID管理器获取HID设备引用时出现不兼容的指针错误

Stavros_S

我正在尝试编写一个用户空间设备驱动程序,以从自定义HID设备中提取一些数据。我执行以下操作以将HID管理中设备的引用存储到变量中。

CFSetRef device = IOHIDManagerCopyDevices(HIDManager);

之后,我执行以下操作来注册我的回调,该回调用于设置从设备读取的报告(我正在苦苦挣扎的另一个区域)。

IOHIDDeviceRegisterInputReportCallback(device, report, ReadDailyDataResonposeSize, Handle_IOHIDDeviceIOHIDReportCallback, NULL);

我在参考“设备”的上述功能中遇到错误,提示“传递CFSetRef的指针类型不兼容”

如果我尝试更改设备的类型,尽管在创建设备时我又说了另一句,那就是它必须是CFSetRef。所以我有点困惑,任何人都有建议。我是C语言的新手,也是Mac上的新手。到目前为止,文档对我来说还很简洁。

编辑:这是我其余代码的链接,以供参考。http://pastebin.com/rFsHisdh

胡安·法科罗

IOHIDDeviceRegisterInputReportCallback根据文档,这是功能的签名

CF_EXPORT void IOHIDDeviceRegisterInputReportCallback(
    IOHIDDeviceRef device,
    uint8_t *report,
    CFIndex reportLength,
    IOHIDReportCallback callback,
    void *context) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;

正如你所看到的第一个参数应该是一个IOHIDDeviceRef和你在路过CFSetRefprovide[s] support for the mathematical concept of a set作为马丁- [R答案表示。

要获取集合的元素并传递设备(如果有),您应该执行以下操作:

CFSetRef devices = IOHIDManagerCopyDevices(HIDManager);
CFIndex size = CFSetGetCount(devices);
if(size > 0) {
    CFTypeRef array[size]; // array of IOHIDDeviceRef
    CFSetGetValues(devices, array);
    IOHIDDeviceRegisterInputReportCallback((IOHIDDeviceRef)array[0], report, ReadDailyDataResonposeSize, Handle_IOHIDDeviceIOHIDReportCallback, NULL);
}

希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试从Mac上的HID管理器获取HID设备引用时出现不兼容的指针错误

来自分类Dev

获取HID设备的MAC地址时出现问题

来自分类Dev

什么是设备管理器(Win 7)中的“ HID键盘设备”

来自分类Dev

向Windows Phone 8 Project添加DLL引用时出现“不兼容的程序集”错误

来自分类Dev

HID设备无法获取实际值

来自分类Dev

每次通过管理器上传iOS 7应用时出现Xcode错误

来自分类Dev

AMD HP Pavilon 不兼容 EFI 启动管理器/无法在 Cosmic Cuttlefish USB 上启动

来自分类Dev

尝试在OSX上使用hidapi / hid打开连接时出现“ ValueError:未打开”

来自分类Dev

如果在Mac上,如何查看设备管理器?

来自分类Dev

在Apache服务器中设置指令时出现不兼容的指针类型错误

来自分类Dev

尝试使用警报管理器配置Prometheus,但规则文件出现错误

来自分类Dev

获取HID设备功能报告描述符的本机方法?

来自分类Dev

在Windows的HID设备上执行ReadFile()会发生什么?

来自分类Dev

在Windows的HID设备上执行ReadFile()会发生什么?

来自分类Dev

如何使用旋转编码器控制HID设备?

来自分类Dev

从Windows设备管理器获取信息

来自分类Dev

尝试引用指针时出现分段错误:C

来自分类Dev

尝试引用指针时出现分段错误:C

来自分类Dev

Windows HID设备名称格式

来自分类Dev

Windows HID设备名称格式

来自分类Dev

软件中心更新管理器均出现分段错误

来自分类Dev

如何写入由hid-sony.c创建的Buzz控制器HID设备以使LED正常工作?

来自分类Dev

如何在Xcode的窗口菜单上的管理器上管理设备?

来自分类Dev

修复所有pip和程序包管理器不兼容的问题

来自分类Dev

在gnome面板上获取网络管理器

来自分类Dev

C ++-结构构造函数,尝试取消对结构指针的引用时重新定义错误

来自分类Dev

在一台不移动的设备上滞后多个HID设备(PyUSB)

来自分类Dev

Android设备管理器未在Ubuntu 12.04上显示仿真设备

来自分类Dev

单例或将指针传递给管理器中的静态引用

Related 相关文章

  1. 1

    尝试从Mac上的HID管理器获取HID设备引用时出现不兼容的指针错误

  2. 2

    获取HID设备的MAC地址时出现问题

  3. 3

    什么是设备管理器(Win 7)中的“ HID键盘设备”

  4. 4

    向Windows Phone 8 Project添加DLL引用时出现“不兼容的程序集”错误

  5. 5

    HID设备无法获取实际值

  6. 6

    每次通过管理器上传iOS 7应用时出现Xcode错误

  7. 7

    AMD HP Pavilon 不兼容 EFI 启动管理器/无法在 Cosmic Cuttlefish USB 上启动

  8. 8

    尝试在OSX上使用hidapi / hid打开连接时出现“ ValueError:未打开”

  9. 9

    如果在Mac上,如何查看设备管理器?

  10. 10

    在Apache服务器中设置指令时出现不兼容的指针类型错误

  11. 11

    尝试使用警报管理器配置Prometheus,但规则文件出现错误

  12. 12

    获取HID设备功能报告描述符的本机方法?

  13. 13

    在Windows的HID设备上执行ReadFile()会发生什么?

  14. 14

    在Windows的HID设备上执行ReadFile()会发生什么?

  15. 15

    如何使用旋转编码器控制HID设备?

  16. 16

    从Windows设备管理器获取信息

  17. 17

    尝试引用指针时出现分段错误:C

  18. 18

    尝试引用指针时出现分段错误:C

  19. 19

    Windows HID设备名称格式

  20. 20

    Windows HID设备名称格式

  21. 21

    软件中心更新管理器均出现分段错误

  22. 22

    如何写入由hid-sony.c创建的Buzz控制器HID设备以使LED正常工作?

  23. 23

    如何在Xcode的窗口菜单上的管理器上管理设备?

  24. 24

    修复所有pip和程序包管理器不兼容的问题

  25. 25

    在gnome面板上获取网络管理器

  26. 26

    C ++-结构构造函数,尝试取消对结构指针的引用时重新定义错误

  27. 27

    在一台不移动的设备上滞后多个HID设备(PyUSB)

  28. 28

    Android设备管理器未在Ubuntu 12.04上显示仿真设备

  29. 29

    单例或将指针传递给管理器中的静态引用

热门标签

归档