private bool PokeResponse(CardBuffer outBuffer) { CardBuffer RESP; CardBuffer CTRL; byte[] buffer = new byte[outBuffer.Length + 1]; buffer[0] = 0x84; for (int i = 0; i < outBuffer.Length; i++) { buffer[i + 1] = outBuffer.GetByte(i); } CTRL = new CardBuffer(buffer); RESP = ReaderChannel.Control(CTRL); if ((RESP == null) || (RESP.Length < 1) || (RESP.GetByte(0) != 0x00)) { Trace.WriteLine("Control(" + CTRL.AsString() + ") failed"); if (RESP == null) { Trace.WriteLine("\terr." + ReaderChannel.LastError + " : " + ReaderChannel.LastErrorAsString); } else { Trace.WriteLine("\tResp= " + RESP.AsString()); } return(false); } return(true); }
public string SerialNumber() { /* Serial number */ CardBuffer r = Control(new CardBuffer("582003")); if ((r != null) && (r.Length >= 1) && (r.GetByte(0) == 0x00)) { string s = new String(r.GetChars(1, -1)); return(s); } return(""); }