PInvokeC#:函数以指针作为参数我想在我的c#代码中访问这个函数,可以吗?所以最后c++代码将调用我的函数并应用名为“sFrameofData”的结构。C++代码://每当一帧数据到达时,将调用用户提供的函数。DLLintCortex_SetDataHandlerFunc(void(*MyFunction)(sFrameOfData*pFrameOfData));这可能行得通吗?C#代码:[DllImport("Cortex_SDK.dll")]publicexternstaticintCortex_SetDataHandlerFunc(refIntPtrfunction(refIntPtrpFrameOfData));您想要使用与“MyFunction”C++方法的方法签名相匹配的委托。[UnmanagedFunctionPointer(CallingConvention.Cdecl)]publicdelegatevoidMyFunctionDelegate(IntPtrframe);[DllImport("Cortex_SDK.dll")]publicexternstaticintCortex_SetDataHandlerFunc([MarshalAs(UnmanagedType.FunctionPtr)]??MyFunctionDelegatefunctionCall我不确定什么是正确的方法,但我不认为对函数和结构使用refIntPtr。..求助看这里:C#P/Invoke:MarshalingStructuresContainingFunctionPointers以上是C#学习教程:PInvokeC#:Functiontakespointersas如果参数分享的全部内容对你有用,还需要了解更多关于C#学习教程,希望大家多多关注,本文采集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如有转载,请注明出处:
