1、API声明(包括**参数)
int GetTheLastErrorA(char **pcError); int GetTheLastErrorW(wchar_t **pwError);
2、C#代码
using System.Runtime.InteropServices; [DllImport("StringAW.dll", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Ansi, EntryPoint = "GetTheLastErrorA")] extern static int GetTheLastErrorA(ref IntPtr a); [DllImport("StringAW.dll", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Auto, EntryPoint = "GetTheLastErrorW")] extern static int GetTheLastErrorW(ref IntPtr w); IntPtr a = IntPtr.Zero; GetTheLastErrorA(ref a); String sa = Marshal.PtrToStringAnsi(a); MessageBox.Show(sa); IntPtr w = IntPtr.Zero; GetTheLastErrorW(ref w); String sw = Marshal.PtrToStringUni(w); MessageBox.Show(sw);