public void AutoConnect(HidDevice hidDevice)
 {
     lowHidDevice            = hidDevice;
     ContinueConnectFlag     = true;
     ReadWriteThread.DoWork += ReadWriteThread_DoWork;
     ReadWriteThread.WorkerSupportsCancellation = true;
     ReadWriteThread.RunWorkerAsync();   //Recommend performing USB read/write operations in a separate thread.  Otherwise,
 }
 public void Dispose()
 {
     try
     {
         this.DisConnect();
         oSp.DataReceived       -= HidDataReceived;
         oSp.DeviceRemoved      -= HidDeviceRemoved;
         ReadWriteThread.DoWork -= ReadWriteThread_DoWork;
         ReadWriteThread.CancelAsync();
         ReadWriteThread.Dispose();
     }
     catch
     { }
 }