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
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。
不会.
运行java程序
找工具查看一下那个程序的命令行
搜索下:jni ......
我用jquery无刷新上传图片后返回json格式的数据报错
(实际上图片是上传成功的了,只是返回json格式总读不到,总是报错)
我调试上传的ashx页如下
无法显示 XML 页。
使用 样式表无法查看 XML 输入。请更 ......
我有一个类似的xml的 string,想通过遍历怎么个xml 输出我想要的element的值
xml 为:
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_ME ......