J'essaie d'utiliser un code pinvoke pour appeler une fonction C. La fonction remplit un tampon avec des données.Pointer math en C#
La structure est définie en tant que DWORD pour la longueur, suivie d'une chaîne. Comment puis-je extraire la chaîne de l'IntPtr?
IntPtr buffer = Marshal.AllocHGlobal(nRequiredSize);
PInvokedFunction(buffer, nRequiredSize);
string s = Marshal.PtrToStringAuto(buffer + 4); //this is an error.
Marshal.FreeHGlobal(buffer);