So I have a function, written in C++, that looks like this...
extern \"C\" __declspec(dllexport) int __stdcall SomeFunction(char *theData)
{
// stuff
}
Since string is immutable to begin with, I'm guessing that VB somehow wizards the call to allow for the buffer to be modified by the function. Perhaps internally VB is actually passing a StringBuilder as well.
I wouldn't be surprised if this was a design call by the VB team to make API calls more VB6-like.