在 Mac OS X 中创建虚拟 USB 设备

Rof*_*van 3 c++ macos kernel iokit kernel-extension

我尝试以编程方式在 Mac OS 中添加带有驱动程序的虚拟 USB 设备。IOKit 文档说:传统上,虚拟设备的驱动程序在 IOResources 上匹配,因为虚拟设备不发布自己的 nub。此类驱动程序的另一个示例是 HelloIOKit KEXT(在“使用 Xcode 创建设备驱动程序”中描述),它匹配 IOResources,因为它不控制任何硬件。

但是我没有找到在系统中添加虚拟设备的方法。我怎样才能做到这一点?

pmd*_*mdj 5

你究竟想做什么?

如果你想创建一个虚拟USB设备,你也必须创建一个虚拟USB控制器(IOUSBController/ IOUSBControllerV2/IOUSBControllerV3子类)将虚拟USB设备将被连接。控制器本身将匹配IOResources并且必须模拟真实 USB 控制器的功能。虚拟控制器会假装在其“总线”上检测到虚拟 USB 设备,并为真实 USB 设备驱动程序提供设备/接口节点以进行匹配。这可能需要大量工作 - 您确定您的虚拟设备必须是 USB 设备吗?