繁体   English   中英

如何在 Mac OS X 上创建虚拟 CD 驱动器

[英]How to create virtual CD drive on Mac OS X

如何以编程方式在 Mac OS X 上创建虚拟 CD 驱动程序?

我找不到任何相关的 Cocoa API 或任何纯 C BSD 解决方案。

任何帮助或信息表示赞赏。

您需要使用 I/O Kit 框架来开发您自己的设备驱动程序来模拟虚拟 CD 驱动器。 以下是相关 API 的一些链接,可帮助您入门。

I/O 套件基础知识

I/O Kit 设备驱动程序指南

内核扩展编程主题

人们在这里提出了几种不同的答案。 手头的问题是你想要完成什么。 如果您真的想模拟 CD ROM(直到命令集),您将需要编写一个设备驱动程序。 如果您的目标仅仅是模拟内容类似于 CD 的块设备,您可以使用磁盘实用程序创建磁盘映像,并让内置的磁盘映像驱动程序为您处理。

如果您想展示某种自定义文件系统功能,MacFUSE 很有用,但如果您正在寻找与光盘具有相同语义的东西(无论是块级别还是命令集级别),那么它就是错误的工具。

如果你只是想挂载 ISO 或其他东西,那么它可以通过磁盘工具完成,只需将它拖到侧栏中,然后选择它并选择挂载。

如果你想从代码做到这一点,你可以发出hdiutil命令,如图所示这里 我不确定是否有 API 调用来执行此操作,但使用该命令来执行此工作非常轻松。

挂载自定义卷的最简单方法是MacFUSE 它为您处理 IOKit 细节,并让您在用户空间中编写实现。 但是,我认为您无法将 MacFUSE 制作成“看起来像”CD。 你必须修改 FUSE 来实现这一点。

我对DAEMON Tools for Mac的驱动程序很在意:

/Library/Extensions/DAEMONToolsVirtualSCSIBus.kext/Contents/MacOS/DAEMONToolsVirtualSCSIBus

我使用Hopper反汇编了二进制文件,发现它们正在使用IOSCSIProtocolServices

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM