@btbradj wrote:
I have resolved the issue by taking care of the buffer bookkeeping directly in LabVIEW rather than in C. I couldn't even rely on DSNewPtr to leave things in the correct place and was still getting handle leaks. Just in case anyone is interested - solution is below:
You must have been doing something wrong then. DSNewPtr() certainly will allocate a pointer that stays put in memory until you call DSDisposePtr(). Have used them many times and they never were magically relocated under my nose. Of course doing the entire parsing in LabVIEW is one of the other solutions I recommended and in fact the most clean one.