示例#1
0
        public Task <byte[]> GetResultAsync(CancellationToken token = default)
        {
            NtEntry   handle = Entry.Handle;
            NtRpcCall call   = Handle;

            token.Register(() =>
            {
                NtCore.CancelRpcResult(handle, call);
            });
            return(Task.Run(() =>
            {
                return NtCore.GetRpcResult(handle, call, Span <byte> .Empty).ToArray();
            }));
        }
示例#2
0
 public void NT_CancelRpcResult(NtEntry entry, NtRpcCall call)
 {
     Native_NT_CancelRpcResult(entry, call);
 }
示例#3
0
 public RpcCall(NetworkTableEntry entry, NtRpcCall call)
 {
     Handle = call;
     Entry  = entry;
 }
示例#4
0
 public byte *NT_GetRpcResultTimeout(NtEntry entry, NtRpcCall call, UIntPtr *result_len, double timeout, NtBool *timed_out)
 {
     return(Native_NT_GetRpcResultTimeout(entry, call, result_len, timeout, timed_out));
 }
示例#5
0
 private static extern void Native_NT_CancelRpcResult(NtEntry entry, NtRpcCall call);
示例#6
0
 private static extern byte *Native_NT_GetRpcResultTimeout(NtEntry entry, NtRpcCall call, UIntPtr *result_len, double timeout, NtBool *timed_out);
示例#7
0
 public byte *NT_GetRpcResult(NtEntry entry, NtRpcCall call, UIntPtr *result_len)
 {
     return(Native_NT_GetRpcResult(entry, call, result_len));
 }
示例#8
0
 private static extern byte *Native_NT_GetRpcResult(NtEntry entry, NtRpcCall call, UIntPtr *result_len);
示例#9
0
 public void NT_PostRpcResponse(NtEntry entry, NtRpcCall call, byte *result, UIntPtr result_len)
 {
     Native_NT_PostRpcResponse(entry, call, result, result_len);
 }
示例#10
0
 private static extern void Native_NT_PostRpcResponse(NtEntry entry, NtRpcCall call, byte *result, UIntPtr result_len);