好的我正在开发一个uController项目(指针设备),我正在尝试编写一个用户空间驱动程序IOkit.framework
。
使用idProduct和idVendor我可以得到IOUSBInterfaceInterface300
obj
kr = (*intf)->USBInterfaceOpen(intf);
它失败了kIOReturnExclusiveAccess
,很可能是因为HID
经理已经使用独占访问权限打开了设备。
这里说无代码kext可以阻止HID管理器接管设备
Reading and writing to USB (HID) interrupt endpoints on Mac
我使用idVendor
和idProduct
创建了一个kext,并使用kextload加载它。
我从kextload
但不知怎的,我仍然无法打开界面? 我做错了什么?
我通过创建文件名Info.plist(与调整了idProduct和idVendor的帖子相同的内容)创建了kext,并将其放在名为MyUSBDeviceTest.kext的文件夹中
然后将所有者更改为root:wheel
然后将kext复制到/System/Library/Extensions
然后
sudo kextload -vt /System/Library/Extensions/MyUSBDeviceTest.kext
我尝试重新启动并重新连接设备,但我不能从HID
系统中取出接口