插入U盘时候,多个到达信号产生,导致获取U盘的名字,容量什么的都获取不到。如果断点调试,又可以获取。
关键代码如下:
nativeEventFilter(const QByteArray &eventType, void *message, long *result)
lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
LogInfo << "usb arrival:type"<<lpdbv->dbcv_devicetype;
LogInfo << "usb arrival:flags" << lpdbv->dbcv_flags;
LogInfo << "usb arrival:size" << lpdbv->dbcv_size;
LogInfo << "usb arrival:unitmask" << lpdbv->dbcv_unitmask;
日志如下:
[Info ][2021-11-03 11:46:40][tid 12224][CMediaManager.cpp][nativeEventFilter:191] usb arrival:type2
[Info ][2021-11-03 11:46:40][tid 12224][CMediaManager.cpp][nativeEventFilter:192] usb arrival:flags0
[Info ][2021-11-03 11:46:40][tid 12224][CMediaManager.cpp][nativeEventFilter:193] usb arrival:size20
[Info ][2021-11-03 11:46:40][tid 12224][CMediaManager.cpp][nativeEventFilter:194] usb arrival:unitmask64
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:191] usb arrival:type2
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:192] usb arrival:flags0
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:193] usb arrival:size20
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:194] usb arrival:unitmask64
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:191] usb arrival:type2
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:192] usb arrival:flags0
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:193] usb arrival:size20
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:194] usb arrival:unitmask64
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:191] usb arrival:type2
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:192] usb arrival:flags0
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:193] usb arrival:size20
[Info ][2021-11-03 11:46:41][tid 12224][CMediaManager.cpp][nativeEventFilter:194] usb arrival:unitmask64