当我尝试使用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签名的调用约定和参数是否与目标非托管签名匹配。*
使用签名有什么问题吗?