public static SCardReaderList_CcidOverSerial Instantiate(string PortName, bool UseNotifications, bool UseLpcdPolling) { SCardReaderList_CcidOverSerial r = new SCardReaderList_CcidOverSerial(); Logger.Trace("OpenDevice " + PortName + "..."); if (!r.OpenDevice(PortName)) { return(null); } Logger.Trace("MakeReaderList..."); if (!r.MakeReaderList()) { r.CloseDevice(); return(null); } Logger.Trace("StartDevice..."); if (!r.StartDevice(UseNotifications, UseLpcdPolling)) { r.CloseDevice(); return(null); } Logger.Trace("Device ready"); return(r); }
private static void InstantiateProc(object p) { InstantiateParams instantiateParams = (InstantiateParams)p; Logger.Trace("Background instantiate"); SCardReaderList_CcidOverSerial instance = Instantiate(instantiateParams.PortName, instantiateParams.UseNotifications, instantiateParams.UseLpcdPolling); Logger.Trace("Calling the callback"); instantiateParams.Callback(instance); }