c# 调用 c++函数 问题
c++ 的DLL 文件中定义了一个 函数:
int RunService(char *msgType, char *version, char *in, size_t inLen, char *out, size_t *outLen);
参数说明:
msgType:输入参数
version:输入参数
in:输入参数
inLen:输入参数
out:是输出参数
outLen:是输出参数
我在 c# 如下定义:
[DllImport("XXX.dll")]
public static extern int RunService(string msgType, string version, string inp , UInt32 inLen, StringBuilder outp, out UInt32 outLen);
请问这样定义 可以吗?
我在测试这个函数时报如下错误:
对 PInvoke 函数“HISShell!HISShell.CallYBDll::RunService”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
求帮助!
int RunService(char *msgType, char *version, char *in, size_t inLen, char *out, size_t *outLen);
参数说明:
msgType:输入参数
version:输入参数
in:输入参数
inLen:输入参数
out:是输出参数
outLen:是输出参数
我在 c# 如下定义:
[DllImport("XXX.dll")]
public static extern int RunService(string msgType, string version, string inp , UInt32 inLen, StringBuilder outp, out UInt32 outLen);
请问这样定义 可以吗?
我在测试这个函数时报如下错误:
对 PInvoke 函数“HISShell!HISShell.CallYBDll::RunService”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
求帮助!
...全文
相关推荐
C#调用C++编写的DLL函数各种参数传递问题
1. 不返回值的参数 C++ 原型: bool SendNewSms(char *szTel, char *szMessage); C#引用; [DllImport( CdmaCard.dll,EntryPoint=SendNewSms)] public static extern bool SendNewSms(string phone,string msg); 2. 带返回值(char *) C++原型: BOOL GetCardErrorMessage(char *szErrorMessage , int
c# 调用C++编写 的DLL函数各种参数传递问题。
c# 调用C++编写 的DLL函数各种参数传递问题。数据处理问题等等。
CSharp调用Cpp代码完整实例.zip_C# CPP_C#中cpp_c#代码生成dll_c#调用cpp文件_c#调用c编写d
c#调用C实例。c通过生成DLL,里面有方法,需要一定格式。
C#使用CLR调用C++的DLL库
C#使用CLR调用C++的DLL库的windows完整解决方案 说明如下: 1、工程一:C++的DLL 2、工程二:C++的CLR的类库 3、工程三:C#的exe
C#引用C++动态库 dll 实例
C#引用C++动态库 dll 实例 项目含有C++编写DLL C#引用C++dll


