2011-06-16 118 views
1

有没有人有一个好方法来检查CDROM驱动器的状态,并等待它完全初始化并准备好之后再尝试访问它?C++检查cdrom状态

目前我正在使用WMI的Win32_CDROMDrive。我检查'MediaLoaded',并等待它从'假'变为'真'。这在90%的时间内都能正常工作,但是我偶尔会发现操作系统有错误,说它预计之前的音量(CD)仍然在驱动器中。

工作流程: 1.将光盘 1.5等待 'MediaLoaded' 标志 2.过程数据 3.弹出CD 4.开始。

的WinXP 32位,C++

回答

2

你知道的CDROM驱动器盘符?如果是这样,你可以定期调用GetVolumeInformation()还是FindFirstFile(),并等到它成功?

+1

我还建议'GetVolumeInformation()'作为最可靠的方法。当我必须处理几百张光盘时,我已经在Python脚本中使用它(很像OP的场景)。它从未失败。 – efotinis 2011-06-16 22:46:43