将结构从C#传递给C dll并获取分配的结构值?

时间:2016-11-18 04:20:21

标签: c# dll

我创建dll的C代码是

  typedef struct st_struct{
     unsigned char a;
     unsigned char b;
   } st_struct;

  __declspec(dllexport) void  __stdcall ftn(st_struct *s )
{
     s->a =10;
     s->b =20;

}

我的C#代码如下

namespace check_ex
{
    [Serializable]
    [StructLayout(LayoutKind.Sequential)]
    public class st_struct
    {
        public byte a;
        public byte b;
    };

[DllImport("exMydll.dll")]
public static extern void ftn(st_struct inputs); 

    public Form1()
    {
        InitializeComponent();
        st_struct x = new st_struct();
        ftn(x);
        Console.Write(x.a, x.b);
    }
}

0 个答案:

没有答案