我使用 DriverKit 和 USBDriverKit 编写了一个似乎运行良好的系统扩展(在开发人员模式下运行,SIP 关闭,......仍在等待权利)。
当我插入我的 USB 设备并在终端中输入时,ioreg | grep com.myinc.mydriver
我看到一个条目:
+-o IOUserServer(com.myinc.mydriver ... registered, matched, active, busy 0 (0ms), retain 13
我拔下设备并做另一个ioreg
,我得到相同但保留 9。
如果我插入我的设备,那么另一个ioreg
现在显示 2 个条目(前一个和一个新条目)。
这是正常的吗?为什么上一个还在活动?
在我的 dext 中,我检查了我的 Stop 和 free 函数是否被调用,我想不出我错过了什么。
有人可以向我解释一下或指出我可能忘记做什么吗?保留 9 是否与我在代码中所做的事情有关?