public static extern void MDataEntryActionsInsertNative( IntPtr appPtr, ulong actionsHandle, IntPtr keyPtr, IntPtr keyLen, IntPtr valuePtr, IntPtr valueLen, IntPtr self, MDataEntryActionsInsertCb callback);
public void MDataEntryActionsInsert( IntPtr appPtr, ulong actionsHandle, IntPtr keyPtr, IntPtr keyLen, IntPtr valuePtr, IntPtr valueLen, IntPtr self, MDataEntryActionsInsertCb callback) { MDataEntryActionsInsertNative(appPtr, actionsHandle, keyPtr, keyLen, valuePtr, valueLen, self, callback); }
public static Task MDataEntryActionsInsertAsync(ulong entryActionsH, List <byte> entKey, List <byte> entVal) { var tcs = new TaskCompletionSource <object>(); MDataEntryActionsInsertCb callback = null; callback = (pVoid, result) => { if (result.ErrorCode != 0) { tcs.SetException(result.ToException()); CallbackManager.Unregister(callback); return; } tcs.SetResult(null); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); var entKeyPtr = entKey.ToIntPtr(); var entValPtr = entVal.ToIntPtr(); NativeBindings.MDataEntryActionsInsert( Session.AppPtr, entryActionsH, entKeyPtr, (IntPtr)entKey.Count, entValPtr, (IntPtr)entVal.Count, Session.UserData, callback); Marshal.FreeHGlobal(entKeyPtr); Marshal.FreeHGlobal(entValPtr); return(tcs.Task); }