C ++ проверить статус CDROM - PullRequest
1 голос
/ 17 июня 2011

У кого-нибудь есть хороший способ проверить состояние дисковода CDROM и дождаться его полной инициализации и готовности, прежде чем пытаться получить к нему доступ?

В настоящее время я использую Win32_CDROMDrive из WMI.Я проверяю «MediaLoaded» и жду, пока он изменится с «false» на «true».Это работает в 90% случаев, но время от времени я получаю сообщение об ошибке от операционной системы, в котором говорится, что предыдущий том (CD) все еще будет находиться в приводе.

Рабочий процесс: 1. вставьте компакт-диск1.5 дождитесь флага «MediaLoaded» 2. обработайте данные 3. извлеките компакт-диск 4. начните заново.

WinXP 32bit, c ++

1 Ответ

2 голосов
/ 17 июня 2011

Знаете ли вы букву диска для CDROM? Если это так, не могли бы вы просто периодически вызывать GetVolumeInformation () или, возможно, FindFirstFile () и ждать, пока это удастся?

...