public void SelectDevice() { List <string> availableReaders = this.ListReaders(); if (availableReaders.Count == 0) { return; } this.RdrState = new Card.SCARD_READERSTATE(); readername = availableReaders[0].ToString();//selecting first device this.RdrState.RdrName = readername; states = new Card.SCARD_READERSTATE[1]; states[0] = new Card.SCARD_READERSTATE(); states[0].RdrName = readername; states[0].UserData = IntPtr.Zero.ToInt32(); states[0].RdrCurrState = Card.SCARD_STATE_EMPTY; states[0].RdrEventState = 0; states[0].ATRLength = 0; states[0].ATRValue = null; if (availableReaders.Count > 0) { this._worker = new BackgroundWorker(); this._worker.WorkerSupportsCancellation = true; this._worker.DoWork += WaitChangeStatus; this._worker.RunWorkerAsync(); } }
public void SelectDevice() { List <string> availableReaders = this.ListReaders(); this.RdrState = new Card.SCARD_READERSTATE(); readername = availableReaders[0].ToString();//selecting first device this.RdrState.RdrName = readername; }
public void SelectDevice() { List <string> availableReaders = this.ListReaders(); try { this.RdrState = new Card.SCARD_READERSTATE(); readername = availableReaders[0].ToString();//selecting first device this.RdrState.RdrName = readername; } catch (Exception e) { Console.WriteLine(e); } }
private SmartcardManager() { this._context = 0; this.EstablishContext(); ArrayList availableReaders = this.ListReaders(); this._readerCount = availableReaders.Count; this._state = new Card.SCARD_READERSTATE(); this._state.RdrName = availableReaders[0].ToString(); if (availableReaders.Count > 0) { this._worker = new BackgroundWorker(); this._worker.WorkerSupportsCancellation = true; this._worker.DoWork += WaitChangeStatus; this._worker.RunWorkerAsync(); } }
private void Dispose(bool disposing) { if (!this._disposed) { if (disposing) { // Free other state (managed objects). } //Free your own state (unmanaged objects). //Set large fields to null. this._state = new Card.SCARD_READERSTATE(); this._worker.CancelAsync(); this._worker.Dispose(); this._context = 0; } this._disposed = true; }
public void Watch() { this.RdrState = new Card.SCARD_READERSTATE(); readername = GetReadersList()[0]; this.RdrState.RdrName = readername; states = new Card.SCARD_READERSTATE[1]; states[0] = new Card.SCARD_READERSTATE(); states[0].RdrName = readername; states[0].UserData = 0; states[0].RdrCurrState = Card.SCARD_STATE_EMPTY; states[0].RdrEventState = 0; states[0].ATRLength = 0; states[0].ATRValue = null; this._worker = new BackgroundWorker(); this._worker.WorkerSupportsCancellation = true; this._worker.DoWork += WaitChangeStatus; this._worker.RunWorkerAsync(); }