private bool create() { SCardResult result = SCardAPI.SCardEstablishContext(SCardAPI.SCARD_SCOPE_USER, IntPtr.Zero, IntPtr.Zero, out this.context); if (result != SCardResult.SCARD_S_SUCCESS) { this.context = IntPtr.Zero; return(false); } return(true); }
public static int SCardTransmit(IntPtr hCard, byte[] sendData, byte[] recvData) { IntPtr sendCode = GetPciT1(); uint sendSize = (uint)sendData.Length; uint recvSize = (uint)recvData.Length; SCardIORequest recvCode = new SCardIORequest(0, recvSize + 2); SCardResult result = SCardTransmit(hCard, sendCode, sendData, sendSize, ref recvCode, recvData, ref recvSize); if (result == SCardResult.SCARD_S_SUCCESS) { return((int)recvSize); } else { return(-1); } }