Windows 细粒度(可移动)驱动器类型确定

Windows 细粒度(可移动)驱动器类型确定,windows,sd-card,usb-flash-drive,removable-storage,getdrivetype,Windows,Sd Card,Usb Flash Drive,Removable Storage,Getdrivetype,我正在尝试编写一个小工具来简化可移动媒体的清点。获取和存储介质上的文件列表非常简单,但我希望能够根据驱动器类型对它们进行分类 有一种方法可以获取驱动器类型,但它很旧,仅限于软盘、CD、固定、可移动、网络和RAM。它没有提供细粒度的信息来确定驱动器是闪存驱动器还是存储卡(更不用说更详细的信息,比如什么类型的存储卡)。即使是用于USB驱动器的硬盘,似乎也没有明确区分不同类型的USB介质 是否有一种合理简单可靠的方法(最好是C++)来确定这一点?(是的,我知道有些媒体可以修改为不同的类型,但它只需要对

我正在尝试编写一个小工具来简化可移动媒体的清点。获取和存储介质上的文件列表非常简单,但我希望能够根据驱动器类型对它们进行分类

有一种方法可以获取驱动器类型,但它很旧,仅限于软盘、CD、固定、可移动、网络和RAM。它没有提供细粒度的信息来确定驱动器是闪存驱动器还是存储卡(更不用说更详细的信息,比如什么类型的存储卡)。即使是用于USB驱动器的硬盘,似乎也没有明确区分不同类型的USB介质

是否有一种合理简单可靠的方法(最好是C++)来确定这一点?(是的,我知道有些媒体可以修改为不同的类型,但它只需要对普通的标准媒体工作得足够好。)确实有办法做到这一点,因为Windows在
shell32.dll
中包含各种媒体的不同图标,而Explorer通常在插入它们时使用正确的图标