我如何"取消注册" IOKit.HID回调?

时间:2016-07-01 15:29:01

标签: objective-c swift macos hid iokit

我使用IOHIDDeviceRegisterInputReportCallback在使用HID设备时收听传入的报告。在我断开设备的时候(在软件中,而不是在物理上),我想取消注册这个回调。但是,我没有看到任何方法在Apple的文档中解除我的回调。我确定我只是遗漏了一些东西。任何人都可以指出我从设备上解开的正确方法吗?如果我不应该直接解开我的回调,那么从我的软件与HID设备断开连接的正确方法是什么?

我在Swift中做这个项目,但Objective-C或C ++中的答案也应该没问题。

1 个答案:

答案 0 :(得分:2)

在我问这个问题后不久,我在acquire/release semantics找到了答案。他们说:

  

注意:没有注销IOHID回调例程的功能。他们   通过调用寄存器函数并传递NULL来取消注册   指向回调例程的指针。

所以,答案是将null / nil指针传递给回调注册函数。

相关问题