Пример #1
0
 public void IDataCloseSelfEncryptor(
     IntPtr appPtr,
     ulong seHandle,
     ulong cipherOptHandle,
     IntPtr self,
     IDataCloseSelfEncryptorCb callback)
 {
     IDataCloseSelfEncryptorNative(appPtr, seHandle, cipherOptHandle, self, callback);
 }
Пример #2
0
        public static Task <List <byte> > IDataCloseSelfEncryptorAsync(ulong seH, ulong cipherOptH)
        {
            var tcs = new TaskCompletionSource <List <byte> >();
            IDataCloseSelfEncryptorCb callback = null;

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

                var xorNameList = xorNamePtr.ToList <byte>((IntPtr)32);
                tcs.SetResult(xorNameList);
                CallbackManager.Unregister(callback);
            };

            CallbackManager.Register(callback);
            NativeBindings.IDataCloseSelfEncryptor(Session.AppPtr, seH, cipherOptH, Session.UserData, callback);

            return(tcs.Task);
        }
Пример #3
0
 public static extern void IDataCloseSelfEncryptorNative(
     IntPtr appPtr,
     ulong seHandle,
     ulong cipherOptHandle,
     IntPtr self,
     IDataCloseSelfEncryptorCb callback);