public static Task <List <byte> > MDataInfoSerialiseAsync(ulong mdataInfoH) { var tcs = new TaskCompletionSource <List <byte> >(); MDataInfoSerialiseCb callback = null; callback = (pVoid, result, bytesPtr, len) => { if (result.ErrorCode != 0) { tcs.SetException(result.ToException()); CallbackManager.Unregister(callback); return; } tcs.SetResult(bytesPtr.ToList <byte>(len)); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); NativeBindings.MDataInfoSerialise(Session.AppPtr, mdataInfoH, Session.UserData, callback); return(tcs.Task); }
public static extern void MDataInfoSerialiseNative(IntPtr appPtr, ulong infoHandle, IntPtr self, MDataInfoSerialiseCb callback);
public void MDataInfoSerialise(IntPtr appPtr, ulong infoHandle, IntPtr self, MDataInfoSerialiseCb callback) { MDataInfoSerialiseNative(appPtr, infoHandle, self, callback); }