【求助】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#