CyAPI.NET bug | Cypress Semiconductor
The C# .NET library that Cypress provides has a catastrophic bug; it does not pin managed byte buffers before sending them to the driver, so when the .NET garbage collector runs and compacts memory, it will move the byte buffer while the driver is reading/writing to it. Any .NET application that uses the Cypress C# library will crash, given enough time, even if you're using XferData!
Myself and another poster here, andy, both experienced this problem and found solutions. Andy tried to contact Cypress and tell them about it, but he says they just ignored him. I posted here so that anyone else who runs into the problem might find a solution. We had a nice thread going three weeks ago, but it's not here anymore. I assume Cypress removed it, so I won't be surprised if this gets removed, too.
At least the C++ library and driver work.