C# DllImport 参数是BYTE* 怎么获取图片文件

blue2014 2018-04-23 08:48:49
C++动态链接库是:
函数原型 int WINAPI Well_GetPhotoData(BYTE* photoData);
功能说明 获取照片数据
参 数 photoData - 返回的照片信息缓存指针,不小于1024字节
返回值 1 - 正确
0 - 初始化失败
9 - 其他原因失败

获取照片数据函数我用byte[]、和IntPtr获取信息都失败了

[DllImport("xxx.dll", CallingConvention = CallingConvention.StdCall)]
public static extern int Well_GetPhotoData(byte[] photoData); //得到照片数据

byte[] memory = new byte[10240];
int i = idcardapi.Well_GetPhotoData(memory);

System.IO.MemoryStream ms = new System.IO.MemoryStream(memory);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);

返回报参数错误
...全文
485 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
0 1看天下 2018-04-28
  • 打赏
  • 举报
回复
public static extern int Well_GetPhotoData(ref byte photoData) ;
Acme_Thanatos 2018-04-28
  • 打赏
  • 举报
回复
改成 ref byte
xuzuning 2018-04-23
  • 打赏
  • 举报
回复
StringBuilder

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧