区分数据卡和笔式驱动器或USB闪存驱动器 [英] Differentiating between data card and pen drive or USB flash drive
问题描述
我有一张可以插入 USB 端口的 Vodaphone 数据卡.
I am having a Vodaphone data card which can be inserted in a USB port.
我有 XP 和 Vista 操作系统,我正在使用 Windows 的 WM_DEVICECHANGE
事件来了解 USB 的插入和移除,它对我来说工作正常.
I have XP and Vista OS, and I am using WM_DEVICECHANGE
event of Windows, to know USB Insertion and removal, and it's working fine for me.
但我无法区分数据卡插入和笔式驱动器插入.可能吗?
But I am not able to differentiate between Data card insertion and Pen drive insertion. Is it possible?
推荐答案
是的.笔式驱动器"和数据卡"实现不同的接口.您将使用 RegisterDeviceNotification 订阅 DEV_BROADCAST_DEVICEINTERFACE
.您返回的 WM_DEVICECHANGE
的 LPARAM 将是 DEV_BROADCAST_DEVICEINTERFACE*
.这个结构有一个 dbcc_classguid
成员.这将是您的笔式驱动器的 GUID_DEVINTERFACE_VOLUME
,以及您的数据卡的其他内容 - 实验.
Yes. The "pen drive" and "data card" implement different interfaces. You will have subscribed using RegisterDeviceNotification for DEV_BROADCAST_DEVICEINTERFACE
. The LPARAM of the WM_DEVICECHANGE
you get back will then be a DEV_BROADCAST_DEVICEINTERFACE*
. This structure has a dbcc_classguid
member. This will be GUID_DEVINTERFACE_VOLUME
for your pen drive, and something else for your datacard - experiment.
这篇关于区分数据卡和笔式驱动器或USB闪存驱动器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!