110,536
社区成员
发帖
与我相关
我的任务
分享
[DllImport("StringBuilderptr.dll")]
static extern int TsxInit(ref IntPtr[] b);
static void Main(string[] args)
{
IntPtr[] p = new IntPtr[1];
int len = TsxInit(ref p);
Console.WriteLine(Marshal.PtrToStringAnsi(p[0],6));
Console.ReadLine();
}
[StructLayout(LayoutKind.Sequential)]
public struct TSXDATA
{
public IntPtr p;
}
[DllImport("StringBuilderptr.dll")]
static extern int TsxInit(ref TSXDATA data);
unsafe static void Main(string[] args)
{
IntPtr p = IntPtr.Zero;
TSXDATA data = new TSXDATA();
data.p = (IntPtr)(&p);
int len = TsxInit(ref data);
IntPtr q = Marshal.ReadIntPtr(data.p);
Console.WriteLine(Marshal.PtrToStringAnsi(q,len));
Console.ReadLine();
}