Como retornar texto do código nativo (C ++)

Estou usando o Pinvoke for Interoperability entre o código nativo (C ++) e o código gerenciado (C #). O que eu quero alcançar é obter algum texto do código nativo no meu código gerenciado. Para isso, eu tento muitas coisas, por exemplo, passando string / stringbuilder por ref, usando [IN] e [OUT], Marshaling para LPSTR, retornando string da função etc., mas nada funciona no meu caso. Qualquer ajuda com algum código pequeno seria muito apreciad

questionAnswers(4)

yourAnswerToTheQuestion