我正在尝试编组unsigned 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 []数据(图像)作为结果。 但我不能接受它。
答案 0 :(得分:1)
尝试使用ref,没试过自己
[DllImport("bmpToByte.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.Cdecl)]
public static extern void ConvertToByte(string pame, ref byte[] data);