以编程方式复制CD,字节为字节

时间:2011-12-17 15:06:48

标签: c# c++ windows-7

我想知道是否有人知道我可以通过编程在CD上为数据的字节副本创建一个字节的方式?是否有一些系统调用可以执行此操作?

我有一张CD已经损坏或以其他方式损坏,使得某些文件无法通过资源管理器等访问。我知道那里有信息,我希望能够复制它(甚至在其受损状态)但当然我不能通过文件系统这样做。

1 个答案:

答案 0 :(得分:2)

CD帧是2352字节。对于数据CD,这是2048字节的数据+杂项标题和ECC,但您可以读取大多数原始帧数据。驱动器可能会削减几个字节。因此,绕过ISO 9660文件系统并以原始模式读取CD是最好的选择。读取将失败并且在不可恢复的帧上出现错误,但您可以通过它们进行搜索并开始阅读下一帧。

在Linux上,您将打开低级SCSI设备,发出ioctl以设置CDROMREADRAW并根据需要使用read和lseek。

CD编程内容的描述为here

This page有关于在Windows上阅读CDROM的信息,但没有解释它是否正在返回原始数据。