易截截图软件、单文件、免安装、纯绿色、仅160KB

c#调用c函数问题 - C/C++ / C语言

最近在做指纹识别的时候,遇到个问题,请高手们帮帮忙
厂商提供的dll里边有个方法
C/C++ code:

extern "C" __declspec(dllimport) BOOL FPSAPI CaptureImage(BYTE uwTimeoutS,BYTE* pRawImage);


c#调用映射是这样
 C# code:
/// <summary>
/// 捕获图象
/// </summary>
/// <param name="uwTimeoutS">超时时间</param>
/// <param name="pRawImage">存贮图象数据</param>
/// <returns>1成功,其他失败</returns>
[DllImport("fpsiml.dll", EntryPoint = "CaptureImage", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)]
public static extern int CaptureImage(UInt16 uwTimeoutS, byte[] pRawImage);

但是调用这个方法后,pRawImage字节数组的每一个字节都是255,我想是不是这个函数对应传的数据类型有问题。
关注下

千万别沉

试试
public static extern int CaptureImage(UInt16 uwTimeoutS, ref byte[] pRawImage);

试过无用,传首字节也无用。头都大了,delphi示例传的是首字节,很正常。

BYTE* pRawImage 这个是指针大小呢?这时非托管对象,c#貌似不会给你自动转吧
以前我遇到这种变量时,用IntPtr的
所以 你的函数可能这么定义
[DllImport(&q


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

C# DataSet导出xml 批处理(循环)得怎么处理

DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
      <B>
        <C>
        </C>
  &nb ......

C/C++里屏shift+f10键要怎么写! - C/C++ / C++ 语言

SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号