Ссылаясь на исходный код Эрика для приложения, этот текст взят из метода buttonDetectMedia_Click в классе MainForm:
discFormatData = new MsftDiscFormat2Data();
if (!discFormatData.IsCurrentMediaSupported(discRecorder))
{
labelMediaType.Text = "Media not supported!";
_totalDiscSize = 0;
return;
}
Итак, вызов IsCurrentMediaSupported не выполняется. На самом деле это вызов COM Interop для IDiscFormat2 :: IsCurrentMediaSupported . В документации MSDN упоминаются некоторые другие возможные значения HRESULT, хотя я ожидаю, что если они произойдут, будет выдано исключение COMEx * . Пример кода перехватывает это исключение, и в этом случае отображается окно сообщения - здесь это не так.
Когда я запускал образец, я получал то же самое "Носитель не поддерживается!" ошибка. У меня есть записывающее устройство DVD, но в дисководе нет диска (со мной сейчас нет пустых дисков!), Так что это один из ответов на вопрос, почему вы получили это сообщение. Я предполагаю, что если носитель в накопителе не доступен для записи или несовместим с вашим устройством записи, вы также получите это сообщение.