C#中如何调用C的DLL

2024-11-20 02:51:03
推荐回答(3个)
回答1:

HSHLPCFGHANDLE是个结构体,那么在C#中也应该有这样的声明(例如public struct HSHLPCFGHANDLE{/*按c中结构体进行定义*/}),然后将之实例化一个对象进行传递,一般值类型的传递要变成指针直接加ref即可,C#中方法参数加ref表示传递引用,也就是指针
[DllImport("CITICs_HsT2Hlp.dll")]
private static extern int CITICs_HsHlp_LoadConfig(ref HSHLPCFGHANDLE hConfig, string szConfigFile);

回答2:

单纯这段代码应该没有任何问题。具体错误需要更多信息才能判断。
请采纳答案,支持我一下。

回答3:

[System.Runtime.InteropServices.DllImportAttribute("", EntryPoint="authen")]
public static extern void authen(System.IntPtr pu8Random, System.IntPtr pu8ReturnrData) ;