当前位置:编程学习 > C#/ASP.NET >>

c#调用c++ dll的一个问题

c++的函数如下:
///////////////////////////////////////////////////////////////////////////
模块名称:some.dll 
调用方法
///////////////////////////////////////////////////////////////////////////
BOOL __stdcall some(LPCTSTR lpAccessionNumber, LONG nFormat, BOOL bKey)
lpAccessionNumber:检查号
nFormat:图像格式,1-BMP;10-JPG
bKey:是否仅输出关键影像,1-仅关键影像;0-全部影像
///////////////////////////////////////////////////////////////////////////
 
我写调用如下
///////////////////////////////////////////////////////////////////////////
[DllImport("some.dll")]
public extern static bool some(string id, long type, bool flag);
///////////////////////////////////////////////////////////////////////////
 
 
现在的问题是,前两个参数接收没有问题,第三个参数总是接收0,不管我是传true,还是直接把第三个参数改为int,传1,它都是接收0。
哪位给指点一下,等待中... --------------------编程问答-------------------- 加上[MarshalAs(UnmanagedType.Bool)]试试看 --------------------编程问答-------------------- 本站有解决这个问题的方呢
 楼主可以搜搜
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,