我想知道是否有一个Windows API可以告诉我,如果有一个空的CD是在CD-ROM / DVD-ROM驱动器内。
我已经看了一下GetVolumeInformation(),但是这只会带回实际CD-ROM驱动器上的信息,而不是其中的媒体,如果甚至有CD。
我所要做的就是看驱动器中是否有光盘,并返回一个布尔值。
谢谢你的帮助
调用根目录上的GetFileAttributes()
。 GetFileAttributes()
是相当优化的,因为它通常用来检查文件或目录是否存在。
另一种方法是调用GetDiskFreeSpace
,它(尽管它的名字)也返回总磁盘大小。
壳牌也有一些有用的功能。 SHGetDriveMedia
会告诉你什么是加载,但你应该先调用GetDriveType()
。
您正在查找的API最有可能是IMAPI。
我认为这篇文章可以帮助你http://msdn.microsoft.com/en-us/magazine/cc163992.aspx
您可以使用DeviceIoControl API传递IOCTL_STORAGE_CHECK_VERIFY作为dwIoControlCode。 这将检查一个特定的磁盘驱动器是否准备好,即有一个光盘,当然,托盘是关闭的。 检查DeviceIoControl MSDN文档以获取关于此功能的更多信息。