Dear Sirs,
I am attempting to use WinUSB to perform a bulk transfer of bytes over a prolific PL25A1 easy transfer cable. I have noticed that when the device is plugged into a USB port it installs a different INF file with Win 7 and Win10.
In Windows 7, the INF file includes a fixed device GUID of {bc103702-dd72-406f-9b28-95c868337b59}. I am able to acquire a pointer to the device with the following code:
DEFINE_GUID(GUID_DEVINTERFACE_TransferCable,
0xbc103702,0xdd72,0x406f,0x9b,0x28,0x95,0xc8,0x68,0x33,0x7b,0x59);
Interface = SetupDiGetClassDevs(&GUID_DEVINTERFACE_TransferCable,
NULL,
NULL,
DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
However, in Windows 10, the INF file does not have a device GUID. It only includes a ClassGUID that is randomly generated when the device is installed. I am able to connect to the device using its ClassGUID; however since this field is not constant, the C++ code that connects to device needs to be changed to match this random value in the INF file.
How can I write WinUSB based C++ code that can connect to the prolific cable that will work with both Win 7 and Win 10 and not need to be custom tailored for changing GUIDs?
Thanks,
Scott