【问题标题】:How to access an OPTICAL block device directly under Windows如何在 Windows 下直接访问 OPTICAL 块设备
【发布时间】:2010-11-03 21:22:51
【问题描述】:

问题与How do I read a disk directly with .Net? 类似,只是需要直接访问的驱动器是CD-ROM 或DVD-ROM 驱动器。这些驱动器不包括作为物理驱动器,无法使用上述主题中引用的 DeviceStream 类或 CreateFile Win32 API 方法进行访问。

Windows 内核会自动为各种附加的块设备创建内部设备标记。第一个 CD-ROM 驱动器显示为 \Device\CdRom0,尽管尝试通过 CreateFile() 打开它会失败(显然根据 http://support.microsoft.com/kb/235128)。

考虑到非托管应用程序可以本地访问这些块设备(任何 CD 刻录软件、Windows 的 DD、Cygwin [通过 /dev/scdN]),是否有可用于访问这些块设备的编程方法(最好由 .NET 使用)?

【问题讨论】:

    标签: c# windows pinvoke kernel low-level-io


    【解决方案1】:

    你可能想看看这个article 这是我在遇到备份到 CD 的问题时使用的方法

    【讨论】:

    • 我看到了 DiscRecorder 如何让我打开并获取有关当前数据内容的信息。我不确定它是否会让我阅读内容。它似乎只是让我了解有关会话、长度等的详细信息。
    • 在我发帖后,我意识到您正在寻找比这更低级别的东西。我会再考虑考虑的。
    • 我没有尝试过,但是有一篇关于低级 cdrom 读取的代码项目文章,但它使用 Windows api 来完成。 codeproject.com/KB/cs/csharpripper.aspx
    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 2011-03-19
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多