public MQSPIOpenIn(NmqiEnvironment nmqiEnv, int version) : base(nmqiEnv) { base.TrConstructor("%Z% %W% %I% %E% %U%", new object[] { nmqiEnv, version }); this.spiOpenInHdr = new SPIOPENINHDR(); this.spiOpenInHdr.ID = rfpVB_ID_OPEN_IN; this.Version = version; this.openOptions = new SpiOpenOptions(); this.mqod = new MQObjectDescriptor(); }
protected void Open(ref MQObjectDescriptor od) { uint method = 0x75; this.TrEntry(method, new object[] { od }); int pCompCode = 0; int pReason = 0; try { od.CopyCHARVIntoOD(); if (base.qMgr.CommandLevel < 700) { int openOptions = base.OpenOptions; if (base.objectHandle == null) { base.objectHandle = MQQueueManager.nmqiEnv.NewPhobj(); } base.qMgr.nmqiConnector.MQOPEN(base.qMgr.hConn, ref od, openOptions, base.objectHandle, out pCompCode, out pReason); base.hObj = base.objectHandle.HOBJ; } else { SpiOpenOptions options = new SpiOpenOptions(); options.Options = base.OpenOptions; NmqiSP nmqiConnector = (NmqiSP)base.qMgr.nmqiConnector; if (base.objectHandle == null) { base.objectHandle = MQQueueManager.nmqiEnv.NewPhobj(); } nmqiConnector.SpiOpen(base.qMgr.hConn, ref od, ref options, base.objectHandle, out pCompCode, out pReason); base.hObj = base.objectHandle.HOBJ; if (pCompCode != 2) { this.propControl = options.PropertyControl; } } if (pCompCode != 0) { base.qMgr.CheckHConnHealth(pReason); base.throwNewMQException(pCompCode, pReason); } base.isClosed = false; } catch (MQException exception) { pCompCode = exception.CompCode; pReason = exception.Reason; throw exception; } finally { base.unsafe_compCode = pCompCode; base.unsafe_reason = pReason; base.TrExit(method); } }