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 OpenPOS.Devices.OPOSFiscalPrinter(); // Register event handler _cco.DirectIOEvent += new _IOPOSFiscalPrinterEvents_DirectIOEventEventHandler(_cco_DirectIOEvent); _cco.ErrorEvent += new _IOPOSFiscalPrinterEvents_ErrorEventEventHandler(_cco_ErrorEvent); _cco.OutputCompleteEvent += new _IOPOSFiscalPrinterEvents_OutputCompleteEventEventHandler(_cco_OutputCompleteEvent); _cco.StatusUpdateEvent += new _IOPOSFiscalPrinterEvents_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)); }