请教MFC中读取移动存储设备的信息问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 16:26:44
MFC中OnDeviceArrivalSysinfo函数可以检测到实时插入的移动存储设备,
请问如何才能获取到这个存储设备的盘符?或者标签之类的呢?
即怎么获取插入来的U盘的盘符~
利用DBT_DEVICEARRIVAL事件来获取信息?

用DeviceIoControl函数

先通过设备消息得到新加入的盘符并且排除映射盘(net use/subst).

然后通过DeviceIoControl函数发送IOCTL_STORAGE_BASE equ FILE_DEVICE_MASS_STORAGE得到盘符的总线类别,而不是通过一般的GetDirverTyte,或是网上有些人说的IOCTL_STORAGE_GET_MEDIA_TYPES.

最后通过GetDirverTyte排除USB光驱.