Как долго типичные накладные расходы добавляются путем вызова .dll, написанной на C ++, из приложения C # с использованием следующего синтаксиса?
[DllImport("abc.dll", EntryPoint = "xcFoo", CallingConvention = CallingConvention.Cdecl)]
public extern static Result Foo(out IntPtr session,
[MarshalAs(UnmanagedType.FunctionPtr)]ObjectCallback callback,
UInt64 turnKey,
string serverAddress,
string userId,
string password);
Есть ли более эффективный способ сделать это?