public CallResult <Order[]> QueryOrders(string account_id, string[] codes) { IntPtr r = TqapiDll.tapi_query_orders(this.handle, account_id, codes_to_str(codes)); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Order[]> ret; if (cr.value_type != 0) { ret = new CallResult <Order[]>(TqapiDll.CopyPointerArray <Order>(cr)); } else { ret = new CallResult <Order[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }