internal string AmpleParseTextMarshaled (IntPtr pSetupIo, string pszInputTextIn, string pszUseTextIn)
{
int bufferSize = Encoding.UTF8.GetByteCount(pszInputTextIn);
byte[] temp = new byte[bufferSize + 1]; // +1 for NULL term
int sizeWritten = Encoding.UTF8.GetBytes(pszInputTextIn, 0, pszInputTextIn.Length, temp, 0);
Debug.Assert(sizeWritten == bufferSize);
var ret = AmpleParseText (pSetupIo, temp, pszUseTextIn);
return PtrToString(ret, Encoding.UTF8);
}