Как пeредать const char* в c++ фунцию из c#?
Взаимодействие C# и C++ кроссплатформенно (статья на хабре)
www.pinvoke.net/default.aspx/kernel32.GetShortPathName
Можно использовать MarshalAs
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError=true)]
static extern uint GetShortPathName(
   [MarshalAs(UnmanagedType.LPTStr)]
   string lpszLongPath,
   [MarshalAs(UnmanagedType.LPTStr)]
   StringBuilder lpszShortPath,
   uint cchBuffer);
const char* - это UnmanagedType.LPStr и его можно использовать на string и StringBuilder