我试图以编程方式在Mac OS中添加带有驱动程序的虚拟USB设备。 IOKit文档指出:传统上,虚拟设备的驱动程序基于IOResources匹配,因为虚拟设备不会发布自己的nub。这样的驱动程序的另一个示例是HelloIOKit KEXT(在“使用Xcode创建设备驱动程序”中描述),它基于IOResources匹配,因为它不控制任何硬件。
但我没有找到在系统中添加虚拟设备的方法。我该怎么做?
我试图以编程方式在Mac OS中添加带有驱动程序的虚拟USB设备。 IOKit文档指出:传统上,虚拟设备的驱动程序基于IOResources匹配,因为虚拟设备不会发布自己的nub。这样的驱动程序的另一个示例是HelloIOKit KEXT(在“使用Xcode创建设备驱动程序”中描述),它基于IOResources匹配,因为它不控制任何硬件。
但我没有找到在系统中添加虚拟设备的方法。我该怎么做?
您实际想做什么?
如果您想创建一个虚拟USB设备,那么您还需要创建一个虚拟USB控制器(IOUSBController
/IOUSBControllerV2
/IOUSBControllerV3
子类),虚拟USB设备将连接到该控制器上。控制器本身需要在 IOResources
上匹配,并且必须模拟真实 USB 控制器的功能。虚拟控制器会假装在其“总线”上检测到虚拟 USB 设备,并提供设备/接口 nub 以供真实 USB 设备驱动程序匹配。这可能需要大量工作 - 您确定您的虚拟设备必须是USB设备吗?