之前写获取usb的实例路径,运用setupdi**的api去实现
但是遍历盘符时用的函数是GetLogicalDriveStrings()
只能实现对类似C:\,D:\这样的盘符起作用,遇到像Apple iPad
就不能获取它的ID,所以重新看了看,用SetupDiGetDeviceInstanceId()
来实现ID的获取类似(USB\VID_****&PID_****\编号)
在
当我打印DeviceInstanceId时用printf(“%s”,DeviceInstanceId);BOOL SetupDiGetDeviceInstanceId( _In_ HDEVINFO DeviceInfoSet, _In_ PSP_DEVINFO_DATA DeviceInfoData, _Out_opt_ PTSTR DeviceInstanceId,//这个参数我传入的是一个TCHAR类型数组 _In_ DWORD DeviceInstanceIdSize, _Out_opt_ PDWORD RequiredSize );
只打印出一个字符“U”,我就凌乱了
在尝试获取USB设备的实例路径时,发现GetLogicalDriveStrings函数只能处理C:、D:等常规盘符,无法获取如Apple iPad的ID。因此转向使用SetupDiGetDeviceInstanceId,期望能获取到形如USBVID_****&PID_****编号的ID。但在实际操作中,仅输出了字符“U”,导致遇到意料之外的问题。

3475

被折叠的 条评论
为什么被折叠?



