C#调用C++的Dll方法,const char Content[]在C#中采用什么类型?? 20

C++方法:intReqComm(DWORDDestUser,DWORDContentLen,constcharContent[],BOOLifHaste=FALSE,i... C++方法:

int ReqComm(DWORD DestUser, DWORD ContentLen,const char Content[], BOOL ifHaste=FALSE,int ifBCD=1);

C#声明方法:
[DllImport("BDProtocol.dll", EntryPoint = "ReqComm", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
public static extern int ReqComm(UInt32 DestUser, UInt32 ContentLen,
[In][MarshalAsAttribute(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStr)] byte[] content, Int32 ifHaste, int ifBCD);

C#调用:
byte[] tt = Encoding.ASCII.GetBytes("123");
UInt32 length = Convert.ToUInt32(tt.Length);
textBox1.Text = ReqComm(Convert.ToUInt32(2096135), length, tt, 00, 0).ToString();

函数返回值表
enum {
SUCCESS = 0, 操作成功
FAILURE, 操作失败
DLL_NOTINITIAL, 动态库未初始化
DLL_COMPORTUSED, 串口被占用
DLL_PARAMERR, 参数输入错误
DLL_NOIDINFO, 未获得本机信息
DLL_CONTENTTOOLONG 通信过长,超过最大长度
};
目前调用不保存,方法调用后有返回值,但返回值为5,老是不成功,请高手现身帮帮忙吧
展开
 我来答
仙戈雅3n
2013-08-28 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:895万
展开全部
C#有char类型,把它声明为数组型可作实参。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chrisbadboy
2013-08-28 · TA获得超过225个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:176万
展开全部
试试const string类型
追问
const 不能用作参数修饰符
追答
sorry ,string
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式