private static string PtrToDescr(IntPtr pResult) { if (IntPtr.Zero == pResult) { return(null); } var result = MarshalUtf8.PtrToStringUtf8(pResult); FreeMemory(pResult); return(result); }
public static bool Init(Func <string, string> callback) { CallBackDelegate predicate = data => { var result = MarshalUtf8.PtrToStringUtf8(data); FreeMemory(data); callback(result); return(true); }; var CallbackHandle = GCHandle.Alloc(predicate); if (!SetCallback(predicate)) { throw new Exception("Cant set callback"); } return(ConnectorInitialize(Path, 3)); }