我试图编组未签名的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);