Пример #1
0
        public static Task <ulong> IDataFetchSelfEncryptorAsync(List <byte> xorName)
        {
            var tcs        = new TaskCompletionSource <ulong>();
            var xorNamePtr = xorName.ToIntPtr();
            IDataFetchSelfEncryptorCb callback = null;

            callback = (self, result, sEReaderHandle) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    CallbackManager.Unregister(callback);
                    return;
                }

                tcs.SetResult(sEReaderHandle);
                CallbackManager.Unregister(callback);
            };

            CallbackManager.Register(callback);
            NativeBindings.IDataFetchSelfEncryptor(Session.AppPtr, xorNamePtr, Session.UserData, callback);
            Marshal.FreeHGlobal(xorNamePtr);

            return(tcs.Task);
        }
Пример #2
0
 public static extern void IDataFetchSelfEncryptorNative(
     IntPtr appPtr,
     IntPtr xorNameArr,
     IntPtr self,
     IDataFetchSelfEncryptorCb callback);
Пример #3
0
 public void IDataFetchSelfEncryptor(IntPtr appPtr, IntPtr xorNameArr, IntPtr self, IDataFetchSelfEncryptorCb callback)
 {
     IDataFetchSelfEncryptorNative(appPtr, xorNameArr, self, callback);
 }