private void _StatusChanged(StatusChangeEventArgs args)
        {
            if (args.NewState != SCRState.Present 
                || args.NewState == SCRState.InUse 
                || args.NewState == SCRState.Unpowered
                || args.NewState == SCRState.Mute
                || args.NewState == SCRState.Unavailable)
            {
                return;
            }


            try
            {
                Personal personal;
                if (eventCardInserted != null)
                {
                    personal = readAll();
                    eventCardInserted(personal);
                }
                if (eventCardInsertedWithPhoto != null)
                {
                    personal = readAllPhoto();
                    eventCardInsertedWithPhoto(personal);
                }
            }
            catch (PCSCException ex)
            {
                _error_code = ECODE_SCardError;
                _error_message = "Err: " + ex.Message + " (" + ex.SCardError.ToString() + ")";
                Console.WriteLine(_error_message);
            }
        }
示例#2
0
        private void OnStatusChanged(byte[] atr, string readerName, SCRState previousState, SCRState newState)
        {
            var handler = StatusChanged;

            if (handler == null)
            {
                return;
            }

            var args = new StatusChangeEventArgs(
                readerName,
                previousState,
                newState,
                atr);

            handler(this, args);
        }
示例#3
0
        static void StatusChanged(object sender, StatusChangeEventArgs args)
        {
            SCardMonitor monitor = (SCardMonitor)sender;

            Console.WriteLine(">> StatusChanged Event for reader: "
                + args.ReaderName);
            Console.WriteLine("   ATR: " + StringAtr(args.ATR));
            Console.WriteLine("   Last state: " + args.LastState
                + "\n   New state: " + args.NewState + "\n");
        }
示例#4
0
 private static void StatusChanged(object sender, StatusChangeEventArgs args) {
     Console.WriteLine(">> StatusChanged Event for reader: {0}", args.ReaderName);
     Console.WriteLine("ATR: {0}", BitConverter.ToString(args.Atr ?? new byte[0]));
     Console.WriteLine("Last state: {0}\nNew state: {1}\n", args.LastState, args.NewState);
 }
 private void StatusChanged(object sender, StatusChangeEventArgs args)
 {
   if (this.Dispatcher.CheckAccess())
   {
     UpdateDataGrid();
   }
   else
   {
     this.Dispatcher.Invoke((Action)(() =>
     {
       UpdateDataGrid();
     }));
   }
 }
示例#6
0
        private void OnStatusChanged(byte[] atr, string readerName, SCRState previousState, SCRState newState)
        {
            var handler = StatusChanged;

            if (handler == null) {
                return;
            }

            var args = new StatusChangeEventArgs(
                readerName,
                previousState,
                newState,
                atr);

            handler(this, args);
        }