Skip to content

Conversation

@kaizhi-singtown
Copy link

Hi.

The serialnumber of a composite device on Windows is not the same as that of a USB device.

This behavior is inconsistent with MacOS and Linux.
This behavior is also inconsistent with pyserial and qtserialport.

So we should change it.

The serialnumber we expect is the USB parent device. For example:
The pnpId is: USB\VID_1209&PID_ABD1&MI_00\6&18DA7745&0&0000. The serialnumber contains the & character, which is incorrect. What we wanted was his father USB\VID_1209&PID_ABD1\387132593131

I refer to the code of qtserialport, https://github.com/qt/qtserialport/blob/dev/src/serialport/qserialportinfo_win.cpp#L470. Fixed this property.

I've also refactored other properties with cfgmgr32.h.

Related:
serialport/node-serialport#2726
serialport/node-serialport#1459

@kaizhi-singtown
Copy link
Author

https://www.npmjs.com/package/@singtown/bindings-cpp

A version is released for temporary use and will be deleted after merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant