There is no difference, can you please confirm if you are updating the timeout value of endpoint in CyAPi.lib.
I played also with Timeout but it returns always 997. I also tried 256 byte as transfer size, still doesn't work.
But all of these are working with C#. However, our application must be developed in C++.
I am doing a similar project. I've run my hardware with versions of the streamer application that I've built with both C# and C++. Both work the same. Whenever I see the error code 997 it's because my FPGA state machine and the FX3 are out of synchronization with each other as to when a data xfer has completed. In my design I only send a fixed number of bytes between the FX3 and any of the endpoints in the FPGA.
In my C++ program I had an extra Reset() call. This was the problem.
They are behaving same now.