public static Task <List <List <byte> > > ForEachAsync(NativeHandle entKeysH) { var tcs = new TaskCompletionSource <List <List <byte> > >(); var keys = new List <List <byte> >(); MDataKeysForEachCb forEachCb = (_, bytePtr, len) => { var key = bytePtr.ToList <byte>(len); keys.Add(key); }; ResultCb forEachResCb = (_, result) => { if (result.ErrorCode != 0) { tcs.SetException(result.ToException()); return; } tcs.SetResult(keys); }; AppBindings.MDataKeysForEach(Session.AppPtr, entKeysH, forEachCb, forEachResCb); return(tcs.Task); }
public static extern void MDataKeysForEachNative( IntPtr appPtr, ulong keysHandle, MDataKeysForEachCb forEachCb, IntPtr self, MDataKeysForEachResCb resCb);
public void MDataKeysForEach(IntPtr appPtr, ulong keysHandle, MDataKeysForEachCb forEachCb, IntPtr self, MDataKeysForEachResCb resCb) { MDataKeysForEachNative(appPtr, keysHandle, forEachCb, self, resCb); }
private static extern void MDataKeysForEachNative( IntPtr appPtr, ulong keysHandle, IntPtr self, MDataKeysForEachCb forEachCb, ResultCb resCb);