/// <summary> /// Execute a remote action /// </summary> /// <param name="command">The command</param> /// <param name="args">The command arguments</param> /// <param name="maxDuration">The maximum duration of the command</param> /// <param name="callback">The callback to call after the remote action</param> public void exec(string command, string[] args, Action <WMIExecutionResult> callback, Action <WMIException> callbackError = null, long maxDuration = 5000) { WMIExecutor.exec(this, command, args, maxDuration).ContinueWith(result => { if (result.Exception != null) { if (callbackError != null) { callbackError(result.Exception.InnerException as WMIException); } else { callback(result.Result); } } }); }
/// <summary> /// Execute a remote action /// </summary> /// <param name="command">The command</param> /// <param name="args">The command arguments</param> /// <param name="maxDuration">The maximum duration of the command</param> /// <returns>The async task of the action</returns> public async Task <WMIExecutionResult> exec(string command, string[] args = null, long maxDuration = 5000) { return(await WMIExecutor.exec(this, command, args, maxDuration)); }