我正在 Driver Kit 中构建一个虚拟 HID 设备。
我想从守护程序与虚拟设备驱动程序通信,因为守护程序对于生成将从驱动程序发送的 HID 事件是必需的。
我通过守护程序很好地匹配了我的驱动程序服务,但是当我尝试打开服务时,我-536870174
从这里看到的意思是kIOReturnNotPermitted
.
据我了解,设备驱动程序用户客户端只能com.apple.developer.driverkit.userclient-access
通过 Apple 授权的应用程序打开。
所以,我的问题:
在 Driver Kit 中使用守护进程打开设备驱动程序的用户客户端完全不可能吗?
我在这里唯一的选择是拥有一个具有com.apple.developer.driverkit.userclient-access
权利的中间应用程序,它可以充当守护程序和驱动程序之间的代理吗?
所以它会是这样的:
守护进程<---xpc 连接--> 中间应用程序 <--- 用户客户端 --->虚拟 HID 设备
编辑:要添加到下面关于将应用程序作为守护程序运行的 Phil 答案,这里有一些Apple 书面指南。