从驱动器号获取特定设备类型

wpf*_*abe 17 winapi

我想检测何时将SD(或其他卡)插入读卡器.我知道WM_DEVICECHANGE但是我需要在给出驱动器号的情况下获取特定的设备类型信息.例如,我想区分读卡器中的任何卡与"普通"闪存驱动器.GetDriveType()似乎不够精致.我的其他选择是什么?

我对Windows 7解决方案感到满意.我不需要向后兼容.

这种改进是否全部可能?

我发现这个主题没有提供令人满意的答案.这个感觉就像是要走的路,但是没有示例代码的示例代码或指针.令人难以置信的是,没有人将这样一个共同请求的工作样本拼凑在一起.

[编辑]

我也发现了这个.提供的样本有一些错误,但在修复后我仍然没有得到任何结果.对于具有插入SD卡的设备,我收到了BusTypeUnknown,而不是BusTypeSdpDeviceDesc.BusType.这似乎很简单,但仍然失败了.

Sim*_*mon 0

我认为这是不可能的,因为读卡器以与常规闪存驱动器相同的方式向操作系统提供存储。它们都是 USB 大容量存储类设备。这是有关此设备类别的维基百科文章。操作系统无法区分这两种设备类型。