public void WriteReport(HidReport report, WriteCallback callback, int timeout) { var writeReportDelegate = new WriteReportDelegate(WriteReport); var asyncState = new HidAsyncState(writeReportDelegate, callback); writeReportDelegate.BeginInvoke(report, timeout, EndWriteReport, asyncState); }
public void WriteReport(HidReport report, WriteCallback callback) { WriteReportDelegate writeReportDelegate = WriteReport; HidAsyncState @object = new HidAsyncState(writeReportDelegate, callback); writeReportDelegate.BeginInvoke(report, EndWriteReport, @object); }
private static void EndWriteReport(IAsyncResult ar) { HidAsyncState hidAsyncState = (HidAsyncState)ar.AsyncState; WriteReportDelegate writeReportDelegate = (WriteReportDelegate)hidAsyncState.CallerDelegate; WriteCallback writeCallback = (WriteCallback)hidAsyncState.CallbackDelegate; bool success = writeReportDelegate.EndInvoke(ar); writeCallback?.Invoke(success); }
public async Task <bool> WriteReportAsync(HidReport report, int timeout = 0) { var writeReportDelegate = new WriteReportDelegate(WriteReport); #if NET20 || NET35 return(await Task <bool> .Factory.StartNew(() => writeReportDelegate.Invoke(report, timeout))); #else return(await Task <bool> .Factory.FromAsync(writeReportDelegate.BeginInvoke, writeReportDelegate.EndInvoke, report, timeout, null)); #endif }
public async Task <bool> WriteReportAsync(HidReport report, int timeout = 0) { var writeReportDelegate = new WriteReportDelegate(WriteReport); return(await Task <bool> .Factory.FromAsync(writeReportDelegate.BeginInvoke, writeReportDelegate.EndInvoke, report, timeout, null)); }
public void WriteReport(HidReport report, WriteCallback callback) { var writeReportDelegate = new WriteReportDelegate(WriteReport); var asyncState = new HidAsyncState(writeReportDelegate, callback); writeReportDelegate.BeginInvoke(report, EndWriteReport, asyncState); }
public async Task<bool> WriteReportAsync(HidReport report, int timeout = 0) { var writeReportDelegate = new WriteReportDelegate(WriteReport); return await Task<bool>.Factory.FromAsync(writeReportDelegate.BeginInvoke, writeReportDelegate.EndInvoke, report, timeout, null); }