I'm not quite sure what you mean with "marshalled". Please, be so kind and explain it a little deeper.
If you ask if I pass these pointers from one thread to another, I have to say yes, indirectly.
To go a little more into detail, all NeroVisonAPI work is done in a sub-DLL, and all NVAPI pointer management is done in this child DLL. The parent DLL initializes everything and starts the actual work (transcoding, burning...) in threads, from where I call my child DLL's functions.
So does the child DLL and especially the NVAPI notice from which function, or better, thread, it has been called - or am I mistaken? And if yes, how can I tell the NVAPI to avoid this?
Sorry, but at the moment, I'm rather confused. Maybe it's too late for today So I would be very thankful if you could share your knowledge once more...