P \ Invoke签名出错

时间:2011-11-01 08:54:18

标签: vb.net pinvoke

当我尝试使用p \ invoke和以下函数

来使用函数时,我收到错误

声明

extern "C" __declspec(dllexport) HRESULT Get_GetLastHR(HANDLE);

定义

HRESULT Get_GetLastHR(HANDLE _xmlParser ){
return ((FCEXMLParser*)_xmlParser)->GetLastHR();
}

p \调用VB.Net中使用的签名

Public Shared Function Get_GetLastHR(ByVal param0 As System.IntPtr) As Integer

*的 ERROR *

*调用PInvoke函数'FeeCalculator!FeeCalculator.FeeEngine.FeeEngineMethods :: Get_GetLastHR'使堆栈失衡。这很可能是因为托管PInvoke签名与非托管目标签名不匹配。检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。*

使用签名有什么问题吗?

0 个答案:

没有答案