public CallResult <Balance> QueryBalance(string account_id) { IntPtr r = TqapiDll.tapi_query_balance(this.handle, account_id); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Balance> ret; if (cr.value_type != 0) { ret = new CallResult <Balance>(Marshal.PtrToStructure <Balance>(cr.value)); } else { ret = new CallResult <Balance>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }