当前位置:  开发笔记 > 开发工具 > 正文

在C中使用USB(Windows)

如何解决《在C中使用USB(Windows)》经验,为你挑选了1个好方法。

这是在一篇文章中汇编的几个问题.

1)什么是判断USB大容量存储设备是否插入的最佳方式.

2)将数据写入USB驱动器的最佳方法是什么

3)你可以像在常规内存中那样处理usb驱动器上的内存..(我可以像malloc一样使用,或者直接使用值/和/或将其归零吗?)



1> Doug..:

USB驱动器显示为驱动器号.您可以使用GetDriveTypeAPI检测到它可能是USB设备.但是,这只会告诉您它是可移动的,而不是它实际上是USB驱动器.要说明这一点,您可能需要查看SetupDiGetDeviceRegistryProperty函数(从GetDriveTypeMSDN参考引用).此外,可以安装不是驱动器号的磁盘,或者不代表磁盘安装的驱动器号,因此要查找所有USB驱动器,您需要查看其他一些SetupDi ...函数.

因为它是驱动器号,读取和写入USB驱动器的常用方法是使用文件系统功能,例如fopenWindows CreateFile.如果要像内存一样直接写入,可以创建一个跨越整个设备的文件,然后对文件进行内存映射.但是,除了在专门的应用程序中,我不建议这样做,因为如果存在I/O错误(包括例如用户拔出驱动器),那么您的程序将获得SEH异常,并且会引入许多并发症最好避免.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有