Синтаксис:
MQCONN (QmgrName, Hconn, CompCode, Reason)
где:
| QmgrNam | - | имя менеджера очередей, к которому производиться подключение (латинские буквы, цифры, символы "_", "/", ".", "%" ). |
| Hconn | - | идентификатор связи (connection handle) с менеджером очередей |
| CompCode | - | код завершения, принимающий одно из трех значений: MQCC_OK, MQCC_WARNING, MQCC_FAILED |
| Reason | - | код ошибки, детализирующий код завершения. |
Результат работы функции – установление связи с менеджером очередей и возвращение уникального идентификатора связи Hconn с менеджером. Имя QmgrNam может быть опущено (строка со значением Null или пробел), тогда обращение к менеджеру очередей на данном компьютере происходит по умолчанию. Одно из основных назначений функции – проверка авторизации пользователя (приложение работает под определенным пользователем с идентификатором userid, который может быть не авторизован для работы с данным менеджером или его объектами).
Синтаксис:
MQOPEN (Hconn, ObjDesc, Options, Hobj, CompCode, Reason)
где:
| Hconn | - | идентификатор связи (connection handle) с менеджером очередей |
| ObjDesc | - | описание объекта MQOD |
| Options | - | опции объекта MQOO |
| Hobj | - | идентификатор связи с объектом |
| CompCode | - | код завершения, принимающий одно из трех значений: MQCC_OK – успешное завершение, MQCC_WARNING – предупреждение, MQCC_FAILED – ошибочный вызов |
| Reason | - | код ошибки, детализирующий код завершения. |
Результат работы функции – возвращение уникального идентификатора связи Hobj с "открытым" объектом WebSphere MQ, то есть очередью, с которой установлена связь. Описание объекта MQOD – это ссылка на структуру объекта из библиотеки WebSphere MQ. Структура MQOD представлена в таблице 8.2.
Опции объекта (переменная MQLONG): MQOO_BROWSE* – просмотр объекта, MQOO_INPUT* – объект открыт для помещения сообщений, MQOO_OUTPUT – объект открыт для извлечения сообщений, MQOO_INQUIRE - объект открыт для извлечения атрибутов, MQOO_SET - объект открыт для изменения атрибутов и др. Опции объекта со звездочками задаются, как правило, в виде развернутых констант:
| StrucId | MQCHAR4 | MQOD_STRUC_ID | 'ODbb' |
| Version | MQLONG | MQOD_VERSION_1 | 1 |
| ObjectType | MQLONG | MQOT_Q | 1 |
| ObjectName | MQCHAR48 | Нет | Строка со значением Null или пробел |
| ObjectQMgrName | MQCHAR48 | Нет | Строка со значением Null или пробел |
| DynamicQName | MQCHAR48 | Нет | 'CSQ.*' на z/OS; 'AMQ.*' в противном случае |
| AlternateUserId | MQCHAR12 | Нет | Строка со значением Null или пробел |
| RecsPresent | MQLONG | Нет | 0 |
| KnownDestCount | MQLONG | Нет | 0 |
| UnknownDestCount | MQLONG | Нет | 0 |
| InvalidDestCount | MQLONG | Нет | 0 |
| ObjectRecOffset | MQLONG | Нет | 0 |
| ResponseRecOffset | MQLONG | Нет | 0 |
| ObjectRecPtr None | MQPTR | Нет | Указатель со значением Null |
| ResponseRecPtr | MQPTR | Нет | Указатель со значением Null |
| AlternateSecurityId | MQBYTE40 | MQSID_NONE | Nulls |
| ResolvedQName | MQCHAR48 | Нет | Строка со значением Null или пробел |
| ResolvedQMgrName | MQCHAR48 | Нет | Строка со значением Null или пробел |
| StrucId | MQCHAR4 | MQMD_STRUC_ID | 'MDbb' |
| Version | MQLONG | MQMD_VERSION_1 | 1 |
| Report | MQLONG | MQRO_NONE | 0 |
| MsgType | MQLONG | MQMT_DATAGRAM | 8 |
| Expiry | MQLONG | MQEI_UNLIMITED | MQEI_UNLIMITED |
| Feedback | MQLONG | MQFB_NONE | 0 |
| Encoding | MQLONG | MQENC_NATIVE | В зависимости от среды |
| CodedCharSetId | MQLONG | MQCCSI_Q_MGR | 0 |
| Format | MQCHAR8 | MQFMT_NONE | Пробел |
| Priority | MQLONG | MQPRI_PRIORITY_AS_Q_DEF | -1 |
| Persistence | MQLONG | MQPER_PERSISTENCE_AS_Q_DEF | 2 |
| MsgId | MQBYTE24 | MQMI_NONE | Nulls |
| CorrelId | MQBYTE24 | MQCI_NONE | Nulls |
| BackoutCount | MQLONG | Нет | 0 |
| ReplyToQ | MQCHAR48 | Нет | Строка со значением Null или пробел |
| ReplyToQMgr | MQCHAR48 | Нет | Строка со значением Null или пробел |
| UserIdentifier | MQCHAR12 | Нет | Строка со значением Null или пробел |
| AccountingToken | MQBYTE32 | MQACT_NONE | Nulls |
| ApplIdentityData | MQBYTE32 | Нет | Строка со значением Null или пробел |
| PutApplType | MQLONG | MQAT_NO_CONTEXT | 0 |
| PutApplName | MQCHAR28 | Нет | Строка со значением Null или пробел |
| PutDate | MQCHAR8 | Нет | Строка со значением Null или пробел |
| PutTime | MQCHAR8 | Нет | Строка со значением Null или пробел |
| ApplOriginData | MQCHAR4 | Нет | Строка со значением Null или пробел |
| GroupId | MQBYTE24 | MQGI_NONE | Nulls |
| MsgSeqNumber | MQLONG | Нет | 1 |
| Offset | MQLONG | Нет | 0 |
| MsgFlags | MQLONG | MQMF_NONE | 0 |
| OriginalLength | MQLONG | MQOL_UNDEFINED | -1 |
| StrucId | MQCHAR4 | Идентификатор структуры | MQGMO_STRUC_ID | 'GMOb' |
| Version | MQLONG | Номер версии структуры | MQGMO_VERSION_1 | 1 |
| Options | MQLONG | Опции для управления MQGET | MQGMO_NO_WAIT | 0 |
| WaitInterval | MQLONG | Интервал ожидания (Wait interval) WaitInterval | None | 0 |
| Signal1 | MQLONG | Сигнал | Нет | Указатель Null на z/OS; 0 в ост. случаях |
| Signal2 | MQLONG | Идентификатор сигнала | Нет | 0 |
| ResolvedQName | MQCHAR48 | Разрешенное имя очереди назначения (destination queue) | Нет | Строка string или пробел |
| MatchOptions | MQLONG | Опции управления критериями выбора, используемыми MQGET | MQMO_MATCH_MSG_ID + MQMO_MATCH_CORREL_ID | 3 |
| GroupStatus | MQCHAR | Флаг, индицирующий, что извлеченное сообщение находиться в группе сообщений | MQGS_NOT_IN_GROUP | 'b' |
| SegmentStatus | MQCHAR | Флаг, индицирующий, что извлеченное сообщение является сегментом логического сообщения | MQSS_NOT_A_SEGMENT | 'b' |
| Segmentation | MQCHAR | Флаг, индицирующий, что допускается дальнейшая сегментация для извлеченного сообщения | MQSEG_INHIBITED | 'b' |
| Reserved1 | MQCHAR | Резервное | Нет | 'b' |
| MsgToken | MQBYTE16 | Маркер сообщения (Message token) | MQMTOK_NONE | Nulls |
| ReturnedLength | MQLONG | Возвращаемая длина сообщения в байтах | MQRL_UNDEFINED | -1 |
| Hconn | - | идентификатор связи с менеджером очередей, полученный от MQCONN |
| Hobj | - | идентификатор объекта, полученный от MQOPEN |
| MsgDesc | - | описание сообщения MQMD |
| PutMsgOpts | - | опции MQPMO для записи сообщений |
| BufferLength | - | длина буфера Buffer, откуда пишется сообщение. Значение 0 является действительным и показывает, что сообщение не содержит данных. |
| Buffer | - | буфер, из которого пишется сообщение |
| CompCode | - | код завершения, принимающий одно из трех значений: MQCC_OK, MQCC_WARNING, MQCC_FAILED |
| Reason | - | код ошибки, детализирующий код завершения. |
| StrucId | MQCHAR4 | Идентификатор структуры | MQPMO_STRUC_ID | 'PMOb' |
| Version | MQLONG | Номер версии структуры | MQPMO_VERSION_1 | 1 |
| Options | MQLONG | Опции для управления MQPUT и MQPUT1 | MQPMO_NONE | 0 |
| Timeout | MQLONG | Зарезервировано | Нет | -1 |
| Context | MQHOBJ | Идентификатор объекта входной очереди | Нет | 0 |
| KnownDestCount | MQLONG | Число сообщений, посланное успешно в локальную очередь | Нет | 0 |
| UnknownDestCount | MQLONG | Число сообщений, посланное успешно в удаленную очередь | Нет | 0 |
| InvalidDestCount | MQLONG | Число сообщений, которые возможно не посланы | Нет | 0 |
| ResolvedQName | MQCHAR48 | Разрешенное имя очереди назначения | Нет | Строка Null или пробел |
| ResolvedQMgrName | MQCHAR48 | Разрешенное имя менеджера назначения | Нет | Строка Null или пробел |
| RecsPresent | MQLONG | Число записей помещенных сообщений или ответных записей в настоящее время | Нет | 0 |
| PutMsgRecFields | MQLONG | Флаг, индицирующий, что MQPMR поле присутствует | MQPMRF_NONE | 0 |
| PutMsgRecOffset | MQLONG | Погашение записи первого помещенного сообщения с момента старта MQPMO | Нет | 0 |
| ResponseRecOffset | MQLONG | Погашение записи первого ответа с момента старта MQPMO | Нет | 0 |
| PutMsgRecPtr | MQPTR | Адрес записи первого помещенного в очередь сообщения | Нет | Указатель Null |
| ResponseRecPtr | MQPTR | Адрес записи первого ответа | Нет | Указатель Null |
| Hconn | - | идентификатор связи (connection handle) с менеджером очередей |
| Hobj | - | идентификатор связи с объектом |
| ObjDesc | - | описание объекта MQOD |
| Options | - | опции объекта |
| CompCode | - | код завершения |
| Reason | - | код ошибки, детализирующий код завершения. |
| Hconn | - | идентификатор связи (connection handle) с менеджером очередей |
| CompCode | - | код завершения |
| Reason | - | код ошибки |