【发布时间】: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