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

【求助】c#调用c++动态库 如何定义函数

是用来计算MAC码的
C++中函数定义如下:
   
ZDLL_API void __stdcall CountMac(unsigned char *key,unsigned char *inittext,unsigned char *Source,unsigned int le ,unsigned char *destin);

其中参数:
   key : 密钥 16字节
   inittext : 初始值  16字节
   Source : 需加密的数据
   le : 加密数据的长度
   destin : 加密后的结果 4字节

我在C#中的调用如下:
   
[DllImport("ZDLL.dll")]
        private static extern void CountMac(string key, string inittext, string source, uint len, StringBuilder destin);


但是算出来的结果就是不对  请高手指教一下  C#中调用的时候方法怎么定义  主要是参数类型 --------------------编程问答-------------------- 自己已解决  、

如下:

[DllImport("ZDLL.dll")]
        private static extern void CountMac([MarshalAs(UnmanagedType.LPArray)] byte[] key, [MarshalAs(UnmanagedType.LPArray)] byte[] inittext, [MarshalAs(UnmanagedType.LPArray)] byte[] source, uint le, [MarshalAs(UnmanagedType.LPArray)] byte[] destin);
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,