首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查CD-ROM托盘状态

检查CD-ROM托盘状态
EN

Stack Overflow用户
提问于 2010-10-19 22:32:18
回答 2查看 1.7K关注 0票数 3

我已经写了一小段代码来打开/关闭一个光驱托盘使用DeviceIoControl应用程序接口和适当的IOCTL,但我似乎无法检查托盘的状态。

根据msdn页面(http://msdn.microsoft.com/en-us/library/aa363404%28v=VS.85%29.aspx),如果驱动器加载了有效介质,则IOCTL_STORAGE_CHECK_VERIFY应成功,否则会失败,并显示相应的错误代码。

因此,当DeviceIoControl失败时,当托盘打开时,我认为21lasterror,当托盘关闭但设备中没有介质时,我认为是1112。然而,在加载正确的媒体之前,它只返回21

我错过了什么吗?是否有其他方法可以了解托盘状态?

诚挚的问候,

EN

回答 2

Stack Overflow用户

发布于 2011-12-25 00:38:05

嗯,这个接口的documentation声明它返回驱动器中是否有磁盘,而不返回托盘是否打开。关于返回哪个错误代码的具体要求没有文档记录。在这两种情况下我也都得到了21分。

我查看了文档,但找不到任何有文档记录的方法来完成您要求的操作。对于大多数应用程序来说,托盘是否打开并不是那么有趣。

票数 0
EN

Stack Overflow用户

发布于 2015-09-04 00:15:54

我找不到读取驱动器托盘状态的方法。相反,我正在检查执行弹出命令所需的时间,如explain there,如果弹出返回的时间超过100ms,我假设我们确实弹出了介质。如果弹出命令完成得太快,则假定托盘已打开并需要关闭。它似乎实现了一个打开/关闭切换功能。时间会告诉我们的:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3969435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档