public static T Call <T>(string moduleName, int ordinal, params object[] args) where T : struct { T returnValue = default; if (!IsConnected()) { return(returnValue); } try { returnValue = XDRPCMarshaler.ExecuteRPC <T>(m_XboxConsole, XDRPCMode.System, moduleName, ordinal, args); } catch (Exception) { throw new Exception("Error while calling the function!"); } return(returnValue); }
public static T Call <T>(uint address, params object[] args) where T : struct { T returnValue = default; if (!IsConnected()) { return(returnValue); } try { returnValue = XDRPCMarshaler.ExecuteRPC <T>(m_XboxConsole, new XDRPCExecutionOptions(XDRPCMode.Title, address), args); } catch (Exception) { throw new Exception("Error while calling the function!"); } return(returnValue); }
public static string CallString(this IXboxConsole xbc, string moduleName, int ordinal, params object[] args) { uint address = XDRPCMarshaler.ExecuteRPC <uint>(xbc, XDRPCMode.System, moduleName, ordinal, args); return(ReadString(xbc, address)); }
public static string CallString(this IXboxConsole xbc, uint offset, params object[] args) { uint address = XDRPCMarshaler.ExecuteRPC <uint>(xbc, new XDRPCExecutionOptions(XDRPCMode.Title, offset), args); return(ReadString(xbc, address)); }