Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 检测sd卡读卡器是否插入了卡_C_Windows_Winapi_Sd Card_Ada - Fatal编程技术网

C 检测sd卡读卡器是否插入了卡

C 检测sd卡读卡器是否插入了卡,c,windows,winapi,sd-card,ada,C,Windows,Winapi,Sd Card,Ada,有人知道如何在C中使用Windows Api来检测SD卡读卡器是否插入了卡吗 平台:windows xp/visa/7/8 我用谷歌搜索了一下Windows API文档(我不熟悉它,所以可能错过了很多),但一直找不到答案 我已经看过这篇文章了,虽然很接近,但没有给我我需要的东西,因为我不想检测状态的变化,而是想知道它在查询时处于什么状态 (如果碰巧有人实现了这一点,那将是惊人的,否则我计划只与C链接) 谢谢你的帮助 Matt我使用windows api调用GetVolumeInformation

有人知道如何在C中使用Windows Api来检测SD卡读卡器是否插入了卡吗

平台:windows xp/visa/7/8

我用谷歌搜索了一下Windows API文档(我不熟悉它,所以可能错过了很多),但一直找不到答案

我已经看过这篇文章了,虽然很接近,但没有给我我需要的东西,因为我不想检测状态的变化,而是想知道它在查询时处于什么状态

(如果碰巧有人实现了这一点,那将是惊人的,否则我计划只与C链接)

谢谢你的帮助


Matt

我使用windows api调用GetVolumeInformation修复了此问题,如果驱动器未就绪,该函数将返回0。 与GetFileAttributes相比,使用GetVolumeInformation的优点是GetVolumeInformation是静默的,其中as GetFileAttributes将导致windows弹出一个框,如果找不到文件,则表明驱动器为空。也许有一种更干净的方法可以做到这一点——但这对我来说现在起作用了:)


谢谢你的帮助

假设没有这样的API,但您可以检查驱动器是否准备好(然后检查里面是否有格式化的卡)尝试读取根目录(如“D:\”)的文件属性。如果返回
FALSE
,则可以检查
GetLastError()
错误代码(只需尝试为“驱动器未就绪”返回哪一个)。