Как мне отменить регистрацию обратного вызова IOKit.HID?

Я использую IOHIDDeviceRegisterInputReportCallback для прослушивания входящих отчетов при использовании устройства HID. Когда я отключаюсь от устройства (программно, а не физически), я хочу отменить регистрацию этого обратного вызова. Однако я не вижу никаких способов отключить обратный вызов в документации Apple. Я уверен, что просто что-то упускаю. Может ли кто-нибудь указать мне правильный способ отцепления от устройства? Если я не должен напрямую отключать обратный вызов, как правильно отключиться от моего программного обеспечения с HID-устройства?

Я делаю этот проект на Swift, но ответ на Objective-C или C ++ тоже подойдет.


person JacobJ    schedule 01.07.2016    source источник


Ответы (1)


Вскоре после того, как я спросил об этом, я нашел ответ в документации Apple . Они заявляют:

Примечание. Нет функции для отмены регистрации подпрограмм обратного вызова IOHID. Они отменяются путем вызова функции регистрации и передачи NULL в качестве указателя на подпрограмму обратного вызова.

Итак, ответ - передать указатель null / nil в функцию регистрации обратного вызова.

person JacobJ    schedule 01.07.2016