我试图编组未签名的char **以便从C#调用该方法。

我从C ++制作dllexport

extern "C"
{
  __declspec(dllexport) void ConvertToByte(char *filename,unsigned char** data)

  {
      char temp[100];
      sprintf(temp,filename);
       BITMAPINFO *info;
      *data=(unsigned char *)LoadDIBitmap(temp, &info);
  }


这是dllimport

[DllImport("bmpToByte.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.Cdecl)]
        public static extern void ConvertToByte(string pame, byte[] data);


我想从这里获取byte []数据(图像)。
但我不能接受。

最佳答案

尝试使用ref,还没尝试自己

    [DllImport("bmpToByte.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.Cdecl)]
    public static extern void ConvertToByte(string pame, ref byte[] data);

09-27 05:23