SetupDiGetDeviceInstanceId获取ID的疑问

之前写获取usb的实例路径,运用setupdi**的api去实现

但是遍历盘符时用的函数是GetLogicalDriveStrings()

只能实现对类似C:\,D:\这样的盘符起作用,遇到像Apple iPad

就不能获取它的ID,所以重新看了看,用SetupDiGetDeviceInstanceId()

来实现ID的获取类似(USB\VID_****&PID_****\编号)

	BOOL SetupDiGetDeviceInstanceId(
	  _In_       HDEVINFO DeviceInfoSet,
	  _In_       PSP_DEVINFO_DATA DeviceInfoData,
  	_Out_opt_  PTSTR DeviceInstanceId,//这个参数我传入的是一个TCHAR类型数组
 	 _In_       DWORD DeviceInstanceIdSize,
 	 _Out_opt_  PDWORD RequiredSize
		);
当我打印 DeviceInstanceId时用printf(“%s”,DeviceInstanceId);

只打印出一个字符“U”,我就凌乱了

你可能感兴趣的:(c)