再度提问,USB设备类型的检测,大神们支支招

再次提问,USB设备类型的检测,大神们支支招。
通过使用SetupApi可以检测到USB设备的热插拔,但是现在需要做的是区分插入的USB设备的类型,比如USB摄像头、U盘、USB声卡等。求大神们支招!~弄了好几天了。
------解决思路----------------------
      case DBT_DEVICEARRIVAL:
         // Check whether a CD or DVD was inserted into a drive.
         if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME)
         {
            PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;

            if (lpdbv -> dbcv_flags & DBTF_MEDIA)
            {
               StringCchPrintf (szMsg, 80, "Drive %c: Media has arrived.\n",
                         FirstDriveFromMask(lpdbv ->dbcv_unitmask));

               MessageBox (hwnd, szMsg, "WM_DEVICECHANGE", MB_OK);
            }
         }
         break;


通过插拔消息获取相应设备的信息。。