插入DVD介质时驱动器未就绪状态。为什么会这样?

时间:2011-12-14 14:36:00

标签: c# driveinfo

我有这段代码:

DriveInfo dr = new DriveInfo(@"E:\");

if (dr.IsReady == false)
{
  MessageBox.Show("Drive E: is not ready. Please insert a blank DVD medium.");
}

因此,我在驱动器中插入一张空白DVD并运行代码。我错过了什么?

非常感谢

1 个答案:

答案 0 :(得分:2)

空白DVD上的

DriveInfo.IsReady将返回false。

如果您需要区分是否有空白光盘,则需要使用其他库。这是一个包含IMAPI2(Window的Image Mastering API)的互操作包装器的程序:http://www.codeproject.com/KB/miscctrl/imapi2.aspx

使用互操作包装并调用

IDiscFormat2Data discFormatData = new MsftDiscFormat2Data();
if (discFormatData.CurrentMediaStatus == IMAPI_FORMAT2_DATA_MEDIA_STATE.IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK)
{
    ...
}