如何以编程方式在Mac OS X上创建虚拟CD驱动程序?
我找不到任何相关的Cocoa API或任何纯C BSD解决方案。
感谢任何帮助或信息。
答案 0 :(得分:7)
您需要使用I / O Kit框架来开发您自己的模拟虚拟CD驱动器的设备驱动程序。以下是一些相关API的链接,可帮助您入门。
答案 1 :(得分:2)
人们在这里提出了几个不同的答案。手头的问题是你想要实现的目标。如果您真的想要模拟CD ROM(直到命令集),则需要编写设备驱动程序。如果您的目标仅仅是模拟具有与CD类似的内容的块设备,则可以使用磁盘实用程序创建磁盘映像,并让内置磁盘映像驱动程序为您处理。
如果要呈现某种自定义文件系统功能,MacFUSE非常有用,但如果您要查找的内容与光盘具有相同的语义(无论是和块还是命令集级别),那么它就是错误的工具。
答案 2 :(得分:1)
如果您只是想安装ISO或其他东西,那么通过磁盘工具完成,只需将其拖到侧栏中,然后选择它并选择安装。
如果您想从代码中执行此操作,可以发出hdiutil命令,如图here所示。我不确定是否有API调用来执行此操作,但获取该命令以完成工作非常轻松。
答案 3 :(得分:0)
安装自定义卷的最简单方法是MacFUSE。它为您处理IOKit详细信息,并允许您在用户空间中编写实现。但是,我不认为你可以让MacFUSE“看起来像”一张CD;你必须修改FUSE来实现这一点。
答案 4 :(得分:0)
我对 DAEMON Tools for Mac 的司机很爱管闲事:
/Library/Extensions/DAEMONToolsVirtualSCSIBus.kext/Contents/MacOS/DAEMONToolsVirtualSCSIBus
我使用 Hopper 反汇编了二进制文件并发现它们正在使用 IOSCSIProtocolServices。