private void ReleaseContext() { int retCode = ModWinsCard.SCardCancel(_context); //if (retCode != ModWinsCard.SCARD_S_SUCCESS) // Console.WriteLine("Cancel failed"); retCode = ModWinsCard.SCardReleaseContext(_context); //if (retCode != ModWinsCard.SCARD_S_SUCCESS) // Console.WriteLine("Release failed"); }
public void DisConnect() { this._state = CardState.IsDisable; int retCode = ModWinsCard.SCardCancel(_context); if (retCode != ModWinsCard.SCARD_S_SUCCESS) { Console.WriteLine(string.Format("{0} cancel failed", this._info.SerialNumber)); } retCode = ModWinsCard.SCardReleaseContext(_context); if (retCode != ModWinsCard.SCARD_S_SUCCESS) { Console.WriteLine(string.Format("{0} release failed", this._info.SerialNumber)); } }
public bool Connect() { try { if (_canRead) { this._state = CardState.IsReady; _task = Task.Factory.StartNew(() => ReadingThread(), TaskCreationOptions.LongRunning); return(true); } else { GetReady(); Thread.Sleep(1000); if (_canRead) { this._state = CardState.IsReady; _task = Task.Factory.StartNew(() => ReadingThread(), TaskCreationOptions.LongRunning); } return(true); } } catch { this._state = CardState.IsDisable; int retCode = ModWinsCard.SCardCancel(_context); if (retCode != ModWinsCard.SCARD_S_SUCCESS) { Console.WriteLine(string.Format("{0} cancel failed", this._info.SerialNumber)); } retCode = ModWinsCard.SCardReleaseContext(_context); if (retCode != ModWinsCard.SCARD_S_SUCCESS) { Console.WriteLine(string.Format("{0} release failed", this._info.SerialNumber)); } return(false); } }