Both the device firmware and the host application are legacy products with thousands of copies in the field. After all this time, a bug has emerged on the device end. Resetting the port from the application end is a possible workaround. This might seem kludgy to you (it certainly does to me), but a point release of the host application via FTP is much less painful than having to patch embedded code.
Which, since I'm getting the feeling that you don't want to answer my original question, I'll ask another: A different workaround would be to send a Set Configuration request to the device, but when I try to do that with HidD_SetConfiguration(), I get the error 'Incorrect function', and I can't figure out why.
In both cases I'm using the device handle obtained from the CreateFile() call during the device discovery process.
Any advice?
Thanks,
Mike