public static Task <ulong> MDataInfoNewPublicAsync(List <byte> xorName, ulong typeTag) { var tcs = new TaskCompletionSource <ulong>(); MDataInfoNewPublicCb callback = null; callback = (pVoid, result, pubMDataInfoH) => { if (result.ErrorCode != 0) { tcs.SetException(result.ToException()); CallbackManager.Unregister(callback); return; } tcs.SetResult(pubMDataInfoH); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); var xorNamePtr = xorName.ToIntPtr(); NativeBindings.MDataInfoNewPublic(Session.AppPtr, xorNamePtr, typeTag, Session.UserData, callback); Marshal.FreeHGlobal(xorNamePtr); return(tcs.Task); }
public static extern void MDataInfoNewPublicNative( IntPtr appPtr, IntPtr xorNameArr, ulong typeTag, IntPtr self, MDataInfoNewPublicCb callback);
public void MDataInfoNewPublic(IntPtr appPtr, IntPtr xorNameArr, ulong typeTag, IntPtr self, MDataInfoNewPublicCb callback) { MDataInfoNewPublicNative(appPtr, xorNameArr, typeTag, self, callback); }