是否可以通過C API而不是使用system()
調用加載內核擴展(kext
)?通過C API加載內核擴展?
0
A
回答
2
是的,你想要KextManager API。特別是,KextManagerLoadKextWithIdentifier()
可能是您希望用來加載安裝的kext的函數,而如果要加載不在/ System/Library/Extensions或/ Library/Extensions中的kext,則可能需要使用KextManagerLoadKextWithURL()
。在一個.app包中。
0
CFStringRef km_path = CFStringCreateWithCString(kCFAllocatorDefault, "/Library/Extensions/KauthORama.kext",
kCFStringEncodingUTF8);
CFURLRef km_url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, km_path,
kCFURLPOSIXPathStyle, true);
OSReturn status = KextManagerLoadKextWithURL(km_url, NULL);
if (status == kOSReturnSuccess){
syslog(LOG_NOTICE, "Loaded!");
}else{
syslog(LOG_NOTICE, "Lodaed error: %d", errno);
}
相關問題
- 1. 內核擴展未加載
- 2. 內核擴展加載但不運行
- 3. AIX內核擴展
- 4. 將偏好設置加載到Mac內核擴展中
- 5. 使用launchd在OS X中加載和配置內核擴展
- 6. Mac內核編程通用內核擴展prinf()不起作用
- 7. OSX中的codesign和內核擴展(Kext):不會加載
- 8. iPad(iphone os)內核擴展
- 9. 通過擴展
- 10. 如何從C加載C擴展
- 11. 如何通過CSS擴展內容?
- 12. dbgeng - 在C++中加載擴展dll?
- 13. 加載路徑和Ruby C擴展
- 14. PHP擴展無法加載
- 15. 如果我的擴展程序無法通過chrome://擴展名重新加載我的Chrome擴展程序?
- 16. 通過htaccess添加文件擴展名
- 17. 通過代碼添加綁定擴展
- 18. 通過模型擴展的Zend Framework自動加載類
- 19. 如何通過.htaccess強制加載擴展名「.html」後的URL?
- 20. 如何讓php7通過apache加載擴展
- 21. TypeScript:擴展一個已經通過require加載的類
- 22. C++ Win32 API將驅動程序加載到內核空間
- 23. OS X內核擴展圖形卸載程序
- 24. 自動加載PowerBuilder擴展
- 25. pgsql擴展名未加載
- 26. C# - 重載擴展方法
- 27. 如何通過C++通過JNI傳遞擴展的ASCII字符
- 28. FinderSync覈對擴展選擇
- 29. 如何查看手動加載的內核擴展(kext)的輸出?
- 30. Typo3 8.7擴展核心表單擴展