3

我在开发的 kext 中遇到了一些随机的 kext 加载问题。基本上 kext 是为了根据需要更新鼠标 DPI。这里有一些与kext相关的点 1. kext驱动类是从IOHIDEventDriver类派生的,所以在dispatchRelativePointerEvent函数中修改指针移动。基于 DPI 集,我们将在 dispatchRelativePointerEvent 更新 x 和 y 值,我们调用 super::dispatchRelativePointerEvent。2. Info plist 中IOKitPersonalities 下设备的IOHIDInterface 为IOProviderClass、idProduct 和idVendor。3. kextutil 说构建的 kext 一切正常。4. 在“/System/Library/Extensions/”下安装 kext 后,我​​们同样执行 sudo touch。5. 最后重启机器。

在下次启动时,kext 会加载并找到设备并且一切正常。但问题是,如果我卸载 kext 并再次安装 kext,有时 kext 在下次重新启动时无法加载。不确定是什么导致了问题。有谁知道可能出了什么问题?IOKitPersonalities 有什么问题吗?如果探测分数匹配有任何问题,它应该每次都发生。探测分数是否在这里引起任何问题?

4

0 回答 0