区分数据卡和笔式驱动器或USB闪存驱动器

我有一个可以插入USB端口的Vodaphone数据卡。

我有XP和Vista操作系统,我正在使用Windows的WM_DEVICECHANGE事件,以了解USB插入和删除,它对我来说工作正常。

但我无法区分数据卡插入和笔式驱动器插入。 可能吗?

是。 “笔式驱动器”和“数据卡”实现不同的接口。 您将使用DEV_BROADCAST_DEVICEINTERFACE RegisterDeviceNotification进行DEV_BROADCAST_DEVICEINTERFACE 。 你回来的WM_DEVICECHANGE的LPARAM将是一个DEV_BROADCAST_DEVICEINTERFACE* 。 这个结构有一个dbcc_classguid成员。 这将是您的笔式驱动器的GUID_DEVINTERFACE_VOLUME ,以及其他数据存储区的实验。