簡體   English   中英

ioreg 列出多個 dex

[英]ioreg list multiple dext

我已經使用 DriverKit 和 USBDriverKit 編寫了一個似乎運行良好的系統擴展(在開發人員模式下運行,SIP 關閉,...仍在等待權利)。

當我插入 USB 設備並在終端中輸入ioreg | grep com.myinc.mydriver ioreg | grep com.myinc.mydriver我看到一個條目:

+-o IOUserServer(com.myinc.mydriver ... registered, matched, active, busy 0 (0ms), retain 13

我拔下設備並執行另一個ioreg ,我得到了相同的但保留9。

如果我插入我的設備,那么另一個ioreg現在會顯示 2 個條目(前一個條目和一個新條目)。

這是正常的嗎? 為什么上一個還活躍?

在我的 dex 中,我檢查我的 Stop 和 free 函數是否被調用,我想不出我錯過了什么。

有人可以向我解釋這一點或向我指出我可能忘記做的事情嗎? 保留 9 與我在代碼中所做的事情有什么關系嗎?

我想出了我的問題,並會在這里留下答案,以防它對其他人有幫助...

我使用CopyInterface() (來自IOUSBHostDevice )獲得了我的IOUSBHostInterface對象。 然后在這個對象上我調用了Open()

在我的Stop()實現中,我在接口對象上調用了Close()但我忘記調用release

現在,當我斷開設備連接時,一旦調用了所有free()函數,在控制台中我就會收到消息“沒有服務,正在退出”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM