public static int GetMostAchievedAchievementInfo(out string pchName, uint unNameBufLen, out float pflPercent, out bool pbAchieved) {
InteropHelp.TestIfAvailableClient();
IntPtr pchName2 = Marshal.AllocHGlobal((int)unNameBufLen);
int ret = NativeMethods.ISteamUserStats_GetMostAchievedAchievementInfo(pchName2, unNameBufLen, out pflPercent, out pbAchieved);
pchName = ret != -1 ? InteropHelp.PtrToStringUTF8(pchName2) : null;
Marshal.FreeHGlobal(pchName2);
return ret;
}