public override void Open() { if (string.IsNullOrWhiteSpace(_oposDeviceName)) { try { _oposDeviceName = GetConfigurationProperty("OposDeviceName"); _oposDeviceName.Trim(); } catch { _oposDeviceName = ""; } } if (string.IsNullOrWhiteSpace(_oposDeviceName)) { string strMessage = "OposDeviceName is not configured on " + DevicePath + "."; throw new Microsoft.PointOfService.PosControlException(strMessage, ErrorCode.NoExist); } if (_cco == null) { try { // CCO object CreateInstance _cco = new POS.Devices.OPOSPointCardRW(); // Register event handler _cco.DataEvent += new _IOPOSPointCardRWEvents_DataEventEventHandler(_cco_DataEvent); _cco.DirectIOEvent += new _IOPOSPointCardRWEvents_DirectIOEventEventHandler(_cco_DirectIOEvent); _cco.ErrorEvent += new _IOPOSPointCardRWEvents_ErrorEventEventHandler(_cco_ErrorEvent); _cco.OutputCompleteEvent += new _IOPOSPointCardRWEvents_OutputCompleteEventEventHandler(_cco_OutputCompleteEvent); _cco.StatusUpdateEvent += new _IOPOSPointCardRWEvents_StatusUpdateEventEventHandler(_cco_StatusUpdateEvent); } catch { string strMessage = "Can not create Common ControlObject on " + DevicePath + "."; throw new Microsoft.PointOfService.PosControlException(strMessage, ErrorCode.Failure); } } VerifyResult(_cco.Open(_oposDeviceName)); }