MQINQ-查询对象属性
MQINQ 调用返回整数数组和一组包含对象属性的字符串。
- 队列管理器
- 队列
- 名称列表
- 进程定义
语法
MQINQ(Hconn、Hobj、SelectorCount、Selectors、IntAttrCount、IntAttrs、CharAttrLength、CharAttrs、CompCode、Reason)
参数
- Hconn
- 类型:
MQHCONN-输入此句柄表示与队列管理器的连接。
Hconn的值由先前的 MQCONN 或 MQCONNX 调用返回。在 z/OS® for CICS® 应用程序上,可以省略 MQCONN 调用,并为Hconn指定以下值:MQHC_DEF_HCONN- 缺省连接句柄。
- Hobj
- 类型:
MQHOBJ-输入此句柄表示具有必需属性的对象 (任何类型)。 该句柄必须由指定了 MQOO_INQUIRE 选项的先前 MQOPEN 调用返回。
- SelectorCount
- 类型:
MQLONG-输入这是
Selectors数组中提供的选择器的计数。 这是要返回的属性数。 零是有效值。 允许的最大数目为 256。 - 选择器
- 类型:
MQLONG x SelectorCount-输入这是 SelectorCount 属性选择器的数组; 每个选择器都标识一个具有必需值的属性 (整数或字符)。
每个选择器都必须对
Hobj表示的对象类型有效,否则调用将失败,并返回完成代码MQCC_FAILED和原因码MQRC_SELECTOR_ERROR。在队列的特殊情况下:- 如果选择器对于任何类型的队列都无效,那么调用将失败,完成代码为
MQCC_FAILED,原因码为MQRC_SELECTOR_ERROR。 - 如果选择器仅应用于对象类型以外的类型的队列,那么调用将成功,完成代码为
MQCC_WARNING,原因码为MQRC_SELECTOR_NOT_FOR_TYPE。 - 如果要查询的队列是集群队列,那么有效的选择器取决于解析队列的方式; 请参阅 用法说明 以获取更多详细信息。
MQIA_*选择器) 的属性值在IntAttrs中以这些选择器在Selectors中出现的相同顺序返回。 与字符属性选择器 (MQCA_*选择器) 对应的属性值在CharAttrs中按这些选择器的出现顺序返回。MQIA_*选择器可以与MQCA_*选择器交错; 只有每种类型中的相对顺序很重要。注:- 在两个不同的范围内分配整数和字符属性选择器;
MQIA_*选择器位于范围MQIA_FIRST到MQIA_LAST内,MQCA_*选择器位于范围MQCA_FIRST到MQCA_LAST内。对于每个范围,常量
MQIA_LAST_USED和MQCA_LAST_USED定义队列管理器接受的最大值。 - 如果首先出现所有
MQIA_*选择器,那么可以使用相同的元素编号来寻址Selectors和IntAttrs数组中的相应元素。 - 如果 SelectorCount 参数为零,那么不会引用
Selectors。 在这种情况下,以 C 或 S/390 汇编程序编写的程序传递的参数地址可能为空。
下表列出了可查询的属性。 对于
MQCA_*选择器,在括号中提供了用于定义CharAttrs中生成的字符串的长度 (以字节为单位) 的常量。下面的表按对象按字母顺序列出选择器,如下所示:所有 IBM® MQ 平台上都支持所有选择器,但 注释 列中指示的选择器除外,如下所示:- 非 z/OS
- 在 除 z/OS 以外的所有平台上受支持
- z/OS
- 仅 在 z/OS 上受支持
表 1. MQINQ 队列的属性选择器 选择器 字段长度 描述 注 MQCA_ALTERATION_DATEMQ_DATE_LENGTH最近一次更改日期 MQCA_ALTERATION_TIMEMQ_TIME_LENGTH最近一次更改的时间 MQCA_BACKOUT_REQ_Q_NAMEMQ_Q_NAME_LENGTH过多的回退重新排队名称 MQCA_BASE_Q_NAMEMQ_Q_NAME_LENGTH别名解析为的队列的名称 MQCA_CF_STRUC_NAMEMQ_CF_STRUC_NAME_LENGTH耦合设施结构名称 z/OS MQCA_CLUS_CHL_NAMEMQ_CHANNEL_NAME_LENGTH将此队列用作传输队列的集群发送方通道的名称。 MQCA_CLUSTER_NAMEMQ_CLUSTER_NAME_LENGTH集群名称 MQCA_CLUSTER_NAMELISTMQ_NAMELIST_NAME_LENGTH集群名称列表 MQCA_CREATION_DATEMQ_CREATION_DATE_LENGTH队列创建日期 MQCA_CREATION_TIMEMQ_CREATION_TIME_LENGTH队列创建时间 MQCA_CUSTOMMQ_CUSTOM_LENGTH新功能部件的定制属性 MQCA_INITIATION_Q_NAMEMQ_Q_NAME_LENGTH启动队列名称 MQCA_PROCESS_NAMEMQ_PROCESS_NAME_LENGTH进程定义的名称 MQCA_Q_DESCMQ_Q_DESC_LENGTH队列描述 MQCA_Q_NAMEMQ_Q_NAME_LENGTH队列名称 MQCA_REMOTE_Q_MGR_NAMEMQ_Q_MGR_NAME_LENGTH远程队列管理器的名称 MQCA_REMOTE_Q_NAMEMQ_Q_NAME_LENGTH远程队列管理器上已知的远程队列的名称 MQCA_STORAGE_CLASSMQ_STORAGE_CLASS_LENGTH存储类的名称 z/OS MQCA_TRIGGER_DATAMQ_TRIGGER_DATA_LENGTH触发器数据 MQCA_XMIT_Q_NAMEMQ_Q_NAME_LENGTH传输队列的名称 MQIA_ACCOUNTING_QMQLONG控制队列的记帐数据收集 非 z/OS MQIA_BACKOUT_THRESHOLDMQLONG回退阈值 MQIA_CLWL_Q_PRIORITYMQLONG队列的优先级 MQIA_CLWL_Q_RANKMQLONG队列的排名 MQIA_CLWL_USEQMQLONG使用远程队列 MQIA_CURRENT_Q_DEPTHMQLONG队列中的消息数 MQIA_DEF_BINDMQLONG缺省绑定 MQIA_DEF_INPUT_OPEN_OPTIONMQLONG缺省 open-for-input 选项 MQIA_DEF_PERSISTENCEMQLONG缺省消息持久性 MQIA_DEF_PRIORITYMQLONG缺省消息优先级 MQIA_DEFINITION_TYPEMQLONG队列定义类型 MQIA_DIST_LISTSMQLONG分发列表支持 非 z/OS MQIA_HARDEN_GET_BACKOUTMQLONG是否硬化回退计数 MQIA_INDEX_TYPEMQLONG为队列维护的索引类型 z/OS MQIA_INHIBIT_GETMQLONG是否允许获取操作 MQIA_INHIBIT_PUTMQLONG是否允许 put 操作 MQIA_MAX_MSG_LENGTHMQLONG最大消息长度 MQIA_MAX_Q_DEPTHMQLONG队列上允许的最大消息数 MQIA_MSG_DELIVERY_SEQUENCEMQLONG消息优先级是否相关 MQIA_NPM_CLASSMQLONG非持久消息的可靠性级别 MQIA_OPEN_INPUT_COUNTMQLONG打开队列以进行输入的 MQOPEN 调用数 MQIA_OPEN_OUTPUT_COUNTMQLONG打开队列以进行输出的 MQOPEN 调用数 MQIA_PROPERTY_CONTROLMQLONG属性控制属性 MQIA_Q_DEPTH_HIGH_EVENTMQLONG队列深度高事件的控制属性 非 z/OS MQIA_Q_DEPTH_HIGH_LIMITMQLONG队列深度的上限 非 z/OS MQIA_Q_DEPTH_LOW_EVENTMQLONG队列深度低事件的控制属性 非 z/OS MQIA_Q_DEPTH_LOW_LIMITMQLONG队列深度的下限 非 z/OS MQIA_Q_DEPTH_MAX_EVENTMQLONG队列深度最大事件数的控制属性 非 z/OS MQIA_Q_SERVICE_INTERVALMQLONG队列服务时间间隔限制 非 z/OS MQIA_Q_SERVICE_INTERVAL_EVENTMQLONG队列服务时间间隔事件的控制属性 非 z/OS MQIA_Q_TYPEMQLONG队列类型 MQIA_QSG_DISPMQLONG队列共享组处置 z/OS MQIA_RETENTION_INTERVALMQLONG队列保留时间间隔 MQIA_SCOPEMQLONG队列定义作用域 非 z/OS MQIA_SHAREABILITYMQLONG是否可以共享队列以进行输入 MQIA_STATISTICS_QMQLONG控制队列的统计数据收集 非 z/OS MQIA_TRIGGER_CONTROLMQLONG触发器控制 MQIA_TRIGGER_DEPTHMQLONG触发器深度 MQIA_TRIGGER_MSG_PRIORITYMQLONG触发器的阈值消息优先级 MQIA_TRIGGER_TYPEMQLONG触发器类型 MQIA_USAGEMQLONG用法 表 2. MQINQ 名称列表的属性选择器 选择器 字段长度 描述 注 MQCA_ALTERATION_DATEMQ_DATE_LENGTH最近一次更改日期 MQCA_ALTERATION_TIMEMQ_TIME_LENGTH最近一次更改的时间 MQCA_NAMELIST_DESCMQ_NAMELIST_DESC_LENGTH名称列表描述 MQCA_NAMELIST_NAMEMQ_NAMELIST_NAME_LENGTH名称列表对象的名称 MQIA_NAMELIST_TYPEMQLONG名称列表类型 z/OS MQCA_NAMESMQ_Q_NAME_LENGTH x Number of names in the list名称列表中的名称 MQIA_NAME_COUNTMQLONG名称列表中的名称数 MQIA_QSG_DISPMQLONG队列共享组处置 z/OS 表 3. MQINQ 进程定义的属性选择器 选择器 字段长度 描述 注 MQCA_ALTERATION_DATEMQ_DATE_LENGTH最近一次更改日期 MQCA_ALTERATION_TIMEMQ_TIME_LENGTH最近一次更改的时间 MQCA_APPL_IDMQ_PROCESS_APPL_ID_LENGTH应用程序标识 MQCA_ENV_DATAMQ_PROCESS_ENV_DATA_LENGTH环境数据 MQCA_PROCESS_DESCMQ_PROCESS_DESC_LENGTH进程定义的描述 MQCA_PROCESS_NAMEMQ_PROCESS_NAME_LENGTH进程定义的名称 MQCA_USER_DATAMQ_PROCESS_USER_DATA_LENGTH用户数据 MQIA_APPL_TYPEMQLONG应用程序类型 MQIA_QSG_DISPMQLONG队列共享组处置 z/OS 表 4. MQINQ 队列管理器的属性选择器 选择器 字段长度 描述 注 MQCA_ALTERATION_DATEMQ_DATE_LENGTH最近一次更改日期 MQCA_ALTERATION_TIMEMQ_TIME_LENGTH最近一次更改的时间 MQCA_CHANNEL_AUTO_DEF_EXITMQ_EXIT_NAME_LENGTH自动通道定义出口名称 MQCA_CHINIT_SERVICE_PARM保留供 IBM 使用 MQCA_CLUSTER_WORKLOAD_DATAMQ_EXIT_DATA_LENGTH传递到集群工作负载出口的数据 MQCA_CLUSTER_WORKLOAD_EXITMQ_EXIT_NAME_LENGTH集群工作负载出口的名称 MQCA_COMMAND_INPUT_Q_NAMEMQ_Q_NAME_LENGTH系统命令输入队列名称 MQCA_CUSTOMMQ_CUSTOM_LENGTH新功能部件的定制属性 MQCA_DEAD_LETTER_Q_NAMEMQ_Q_NAME_LENGTH死信队列的名称 MQCA_DEF_XMIT_Q_NAMEMQ_Q_NAME_LENGTH缺省传输队列名称 MQCA_DNS_GROUPMQ_DNS_GROUP_NAME_LENGTH用于处理要连接的队列共享组的入站传输的 TCP 侦听器的组名。 使用工作负载管理器动态域名服务时,该名称适用。 z/OS MQCA_IGQ_USER_IDMQ_USER_ID_LENGTH组内排队用户标识 z/OS ![[MQ 9.3.0 2022 年 6 月]](ng930cd.gif)
![[MQ 9.3.0 2022 年 6 月]](ng930.gif)
MQCA_INITIAL_KEYMQ_INITIAL_KEY_LENGTH密码保护系统的初始密钥 如果非空白,那么返回 ********; 如果正在使用缺省初始键,那么返回空白MQCA_INSTALLATION_DESCMQ_INSTALLATION_DESC_LENGTH关联安装的描述 不是 z/OS。 非 IBM i MQCA_INSTALLATION_NAMEMQ_INSTALLATION_NAME_LENGTH与队列管理器关联的安装的名称 不是 z/OS。 非 IBM i MQCA_INSTALLATION_PATHMQ_INSTALLATION_PATH_LENGTH安装关联的 IBM MQ 的路径 不是 z/OS。 非 IBM i MQCA_LU_GROUP_NAMEMQ_LU_NAME_LENGTH用于处理队列共享组要使用的入站传输的 LU 6.2 侦听器的通用 LU 名 z/OS MQCA_LU_NAMEMQ_LU_NAME_LENGTH要用于出站 LU 6.2 传输的 LU 的名称。 将此名称设置为侦听器用于入站传输的同一 LU z/OS MQCA_LU62_ARM_SUFFIXMQ_ARM_SUFFIX_LENGTHSYS1.PARMLIB member APPCPM xx的后缀,用于指定此通道启动程序的 LUADD z/OS MQCA_PARENTMQ_Q_MGR_NAME_LENGTH指定为此队列管理器的父代的分层连接的队列管理器的名称 MQCA_Q_MGR_DESCMQ_Q_MGR_DESC_LENGTH队列管理器描述 MQCA_Q_MGR_IDENTIFIERMQ_Q_MGR_IDENTIFIER_LENGT队列管理器标识 (H) MQCA_Q_MGR_NAMEMQ_Q_MGR_NAME_LENGTH本地队列管理器的名称 MQCA_QSG_NAMEMQ_QSG_NAME_LENGTH队列共享组名 z/OS MQCA_REPOSITORY_NAMEMQ_CLUSTER_NAME_LENGTH队列管理器为其提供存储库服务的集群的名称 MQCA_REPOSITORY_NAMELISTMQ_NAMELIST_NAME_LENGTH名称列表对象的名称,其中包含队列管理器为其提供存储库服务的集群的名称 ![[MQ 9.3.0 2022 年 6 月]](ng930cd.gif)
![[MQ 9.3.0 2022 年 6 月]](ng930.gif)
MQCA_SSL_KEY_REPO_PASSWORDMQ_SSL_ENCRYP_KEY_REPO_PWD_LEN密钥存储库密码 如果非空白,那么返回 ********; 如果未设置,那么返回空白在存储前设置时加密。
MQCA_TCP_NAMEMQ_TCP_NAME_LENGTH您正在使用的 TCP/IP 系统的名称 z/OS MQIA_ACCOUNTING_CONN_OVERRIDEMQLONG覆盖记帐设置 非 z/OS MQIA_ACCOUNTING_INTERVALMQLONG写入中间记帐记录的频率 非 z/OS MQIA_ACCOUNTING_MQIMQLONG控制 MQI 数据的记帐信息收集 非 z/OS MQIA_ACCOUNTING_QMQLONG控制队列的记帐信息收集 非 z/OS MQIA_ACTIVE_CHANNELSMQLONG可以随时处于活动状态的最大通道数 z/OS MQIA_ADOPTNEWMCA_CHECKMQLONG为确定是否采用 MCA 而检查的元素。 当检测到与已处于活动状态的 MCA 同名的新入站通道时,将执行此检查。 z/OS MQIA_ADOPTNEWMCA_INTERVALMQLONG新通道等待孤立通道结束的时间量 (以秒计) 非 z/OS MQIA_ADOPTNEWMCA_TYPEMQLONG检测到符合AdoptNewMCACheck参数的新入站通道请求时,是否自动重启特定通道类型的 MCA 孤儿实例 z/OS MQIA_AUTHORITY_EVENTMQLONG权限事件的控制属性 非 z/OS MQIA_BRIDGE_EVENTMQLONGIMS 网桥事件的控制属性 z/OS MQIA_CHANNEL_AUTO_DEFMQLONG自动通道定义的控制属性 非 z/OS MQIA_CHANNEL_AUTO_DEF_EVENTMQLONG自动通道定义事件的控制属性 非 z/OS MQIA_CHANNEL_EVENTMQLONG通道事件的控制属性 MQIA_CHINIT_ADAPTERSMQLONG用于处理 IBM MQ 调用的适配器子任务数 z/OS MQIA_CHINIT_DISPATCHERSMQLONG要用于通道启动程序的分派器数 z/OS MQIA_CHINIT_TRACE_AUTO_STARTMQLONG是否自动启动通道启动程序跟踪 z/OS MQIA_CHINIT_TRACE_TABLE_SIZEMQLONG通道启动程序的跟踪数据空间大小 (MB) z/OS MQIA_CLUSTER_WORKLOAD_LENGTHMQLONG集群工作负载长度。 MQIA_CLWL_MRU_CHANNELSMQLONG最近用于集群工作负载均衡的通道数 MQIA_CLWL_USEQMQLONG使用远程队列 MQIA_CODED_CHAR_SET_IDMQLONG编码字符集标识 MQIA_COMMAND_EVENTMQLONG命令事件的控制属性 MQIA_COMMAND_LEVELMQLONG队列管理器支持的命令级别 MQIA_CONFIGURATION_EVENTMQLONG配置事件的控制属性 非 z/OS MQIA_DEF_CLUSTER_XMIT_Q_TYPEMQLONG要用于集群发送方通道的缺省传输队列类型。 MQIA_DIST_LISTSMQLONG分发列表支持 非 z/OS MQIA_DNS_WLMMQLONG处理队列共享组的入站传输的 TCP 侦听器是否向 Dynamic Domain Name Services 的工作负载管理器注册 z/OS MQIA_EXPIRY_INTERVALMQLONG扫描到期消息之间的时间间隔 z/OS MQIA_GROUP_URMQLONG此队列管理器是否启用 GROUP 恢复单元的控制属性。 仅当队列管理器是队列共享组的成员时, GROUP 恢复单元处置才可用 z/OS MQIA_IGQ_PUT_AUTHORITYMQLONG组内排队放置权限 z/OS MQIA_INHIBIT_EVENTMQLONG禁止事件的控制属性 非 z/OS MQIA_INTRA_GROUP_queuingMQLONG组内排队支持 z/OS MQIA_LISTENER_TIMERMQLONG当 APPC 或 TCP/IP 失败时, IBM MQ 尝试重新启动侦听器之间的时间间隔 (以秒为单位)。 z/OS MQIA_LOCAL_EVENTMQLONG本地事件的控制属性 非 z/OS MQIA_LOGGER_EVENTMQLONG禁止事件的控制属性 非 z/OS MQIA_LU62_CHANNELSMQLONG可以是当前通道或可以使用 LU 6.2 传输协议连接的客户机的最大通道数 z/OS MQIA_MSG_MARK_BROWSE_INTERVALMQLONG时间间隔 (以毫秒为单位) ,在此时间间隔之后,队列管理器可以自动从浏览消息中除去标记。 注意: 不应将此值设置为低于缺省值 5000。MQIA_MAX_CHANNELSMQLONG可以是当前的最大通道数 (包括具有已连接客户机的服务器连接通道) z/OS MQIA_MAX_HANDLESMQLONG最大句柄数 MQIA_MAX_MSG_LENGTHMQLONG最大消息长度 MQIA_MAX_PRIORITYMQLONG最高优先级 MQIA_MAX_UNCOMMITTED_MSGSMQLONG工作单元中未落实的最大消息数 MQIA_OUTBOUND_PORT_MAXMQLONG使用 MQIA_OUTBOUND_PORT_MIN,定义绑定传出通道时要使用的端口号范围z/OS MQIA_OUTBOUND_PORT_MINMQLONG使用 MQIA_OUTBOUND_PORT_MAX,定义绑定传出通道时要使用的端口号范围z/OS MQIA_PERFORMANCE_EVENTMQLONG性能事件的控制属性 非 z/OS MQIA_PLATFORMMQLONG队列管理器所在的平台 MQIA_PROT_POLICY_CAPABILITYMQLONG指示 Advanced Message Security 的安全功能是否可用于队列管理器。 MQIA_PUBSUB_MAXMSG_RETRY_COUNTMQLONG尝试在同步点下重新处理失败的命令消息的次数 MQIA_PUBSUB_MODEMQLONG发布/预订引擎和排队的发布/预订接口是否正在运行。 要使用应用程序编程接口发布或预订的应用程序需要发布/预订引擎。 由已排队的发布/预订接口监视的队列要求已排队的发布/预订接口正在运行。 MQIA_PUBSUB_NP_MSGMQLONG是废弃 (还是保留) 未传递的输入消息 MQIA_PUBSUB_NP_RESPMQLONG控制未传送响应消息的行为。 MQIA_PUBSUB_SYNC_PTMQLONG是否仅在同步点下处理持久 (或所有) 消息 MQIA_QMGR_CFCONLOSMQLONG指定当队列管理器与 CFCONLOS 设置为 ASQMGR的管理结构或任何 CF 结构失去连接时要执行的操作z/OS MQIA_RECEIVE_TIMEOUTMQLONGTCP/IP 通道等待从其伙伴接收数据 (包括脉动信号) 的大约时间长度,然后再返回到不活动状态。 该值为数字,由 MQIA_RECEIVE_TIMEOUT_TYPE限定。z/OS MQIA_RECEIVE_TIMEOUT_MINMQLONGTCP/IP 通道在返回到不活动状态之前等待从其合作伙伴接收数据 (包括脉动信号) 的最短时间 z/OS MQIA_RECEIVE_TIMEOUT_TYPEMQLONGTCP/IP 通道等待从其伙伴接收数据 (包括脉动信号) 的大约时间长度,然后再返回到不活动状态。 MQIA_RECEIVE_TIMEOUT_TYPE是应用于MQIA_RECEIVE_TIMEOUT的限定符。z/OS MQIA_REMOTE_EVENTMQLONG远程事件的控制属性 非 z/OS MQIA_SECURITY_CASEMQLONG安全概要文件的情况 z/OS MQIA_SSL_EVENTMQLONG通道事件的控制属性 MQIA_SSL_FIPS_REQUIREDMQLONG仅将 FIPS 认证的算法用于密码术 MQIA_SSL_RESET_COUNTMQLONGTLS 密钥重置计数 MQIA_START_STOP_EVENTMQLONG启动停止事件的控制属性 非 z/OS MQIA_STATISTICS_AUTO_CLUSSDRMQLONG控制集群发送方通道的统计信息监视信息收集 MQIA_STATISTICS_CHANNELMQLONG控制通道的统计数据收集 MQIA_STATISTICS_INTERVALMQLONG写入统计信息监视数据的频率 非 z/OS MQIA_STATISTICS_MQIMQLONG控制队列管理器的统计信息监视信息的收集 非 z/OS MQIA_STATISTICS_QMQLONG控制队列的统计数据收集 非 z/OS MQIA_SYNCPOINTMQLONG同步点可用性 MQIA_TCP_CHANNELSMQLONG使用 TCP/IP 传输协议可以是当前通道或可以连接的客户机的最大通道数 z/OS MQIA_TCP_KEEP_ALIVEMQLONG是否使用 TCP KEEPALIVE 工具来检查连接的另一端是否仍然可用 z/OS MQIA_TCP_STACK_TYPEMQLONG通道启动程序是只能使用 TCPNAME 中指定的 TCP/IP 地址空间,还是可以选择绑定到任何所选 TCP/IP 地址 z/OS MQIA_TRACE_ROUTE_RECORDINGMQLONG控制跟踪路由信息的记录 z/OS MQIA_TREE_LIFE_TIMEMQLONG未使用的非管理主题的生存期 MQIA_TRIGGER_INTERVALMQLONG触发器时间间隔 - 如果选择器对于任何类型的队列都无效,那么调用将失败,完成代码为
- IntAttrCount
- 类型:
MQLONG-输入这是
IntAttrs数组中的元素数。 零是有效值。如果 "IntAttrCount至少等于 "Selectors参数中 "
MQIA_*选择器的数量,则会返回所请求的所有整数属性。 - IntAttrs
- 类型:
MQLONG x IntAttrCount-输出这是
IntAttrCount整数属性值的数组。返回整数属性值的顺序与 Selectors 参数中的
MQIA_*选择器相同。 如果数组包含的元素多于MQIA_*选择器的数目,那么多余的元素保持不变。如果
Hobj表示队列,但属性选择器不适用于该类型的队列,那么将返回特定值MQIAV_NOT_APPLICABLE。 针对IntAttrs数组中的相应元素返回此值。如果 IntAttrCount 或 SelectorCount 参数为零,那么不会引用
IntAttrs。 在这种情况下,以 C 或 S/390 汇编程序编写的程序传递的参数地址可能为空。 - CharAttrLength
- 类型:
MQLONG-输入这是 CharAttrs 参数的长度 (以字节计)。
CharAttrLength必须至少是所请求的字符属性长度之和(请参阅 "选择器")。 零是有效值。
- CharAttrs
- 类型:
MQCHAR x CharAttrLength-输出这是在其中返回字符属性并将其并置在一起的缓冲区。 缓冲区的长度由 CharAttrLength 参数提供。
返回字符属性的顺序与 Selectors 参数中的
MQCA_*选择器相同。 每个属性字符串的长度对于每个属性都是固定的 (请参阅 选择器 ) ,如果需要,会将其中的值用空格填充到右边。 您可以提供一个大于所需大小的缓冲区,以包含所有请求的字符属性和填充。 返回的超出最后一个属性值的字节保持不变。如果
Hobj表示队列,但属性选择器不适用于该类型的队列,那么将返回完全由星号 (*) 组成的字符串。 将返回星号作为CharAttrs中该属性的值。如果
CharAttrLength或 SelectorCount 参数为零,那么不会引用CharAttrs。 在这种情况下,以 C 或 S/390 汇编程序编写的程序传递的参数地址可能为空。 - CompCode
- 类型:
MQLONG-输出完成代码:MQCC_OK- 成功完成。
MQCC_WARNING- 警告(部分完成)。
MQCC_FAILED- 调用失败。
- 原因
- 类型:MQLONG - 输出如果
CompCode为MQCC_OK:MQRC_NONE- (
0, X'000') 无理由报告。
如果CompCode为MQCC_WARNING:MQRC_CHAR_ATTRS_TOO_SHORT- (
2008, X'7D8') 不允许为字符属性提供足够的空间。 MQRC_INT_ATTR_COUNT_TOO_SMALL- (
2022, X'7E6') 整数属性不允许有足够的空间。 MQRC_SELECTOR_NOT_FOR_TYPE- (
2068, X'814') 选择器不适用于队列类型。
如果CompCode为MQCC_FAILED:MQRC_ADAPTER_NOT_AVAILABLE- (
2204, X'89C') 适配器不可用。 MQRC_ADAPTER_SERV_LOAD_ERROR- (
2130, X'852') 无法装入适配器服务模块。 MQRC_API_EXIT_ERROR- (
2374, X'946') API 出口失败。 MQRC_API_EXIT_LOAD_ERROR- (
2183, X'887') 无法装入 API 出口。 MQRC_ASID_MISMATCH- (
2157, X'86D') 主 ASID 和主 ASID 不同。 MQRC_CALL_IN_PROGRESS- (
2219, X'8AB') 在先前调用完成之前输入的 MQI 调用。 MQRC_CF_STRUC_FAILED- (
2373, X'945') 耦合设施结构失败。 MQRC_CF_STRUC_IN_USE- (
2346, X'92A') 正在使用耦合设施结构。 MQRC_CHAR_ATTR_LENGTH_ERROR- (
2006, X'7D6') 字符属性的长度无效。 MQRC_CHAR_ATTRS_ERROR- (
2007, X'7D7') 字符属性字符串无效。 MQRC_CICS_WAIT_FAILED- (
2140, X'85C') CICS拒绝了等待请求。 MQRC_CONNECTION_BROKEN- (
2009, X'7D9') 与队列管理器的连接丢失。 MQRC_CONNECTION_NOT_AUTHORIZED- (
2217, X'8A9') 未授权进行连接。 MQRC_CONNECTION_STOPPING- (
2203, X'89B') 连接正在关闭。 MQRC_HCONN_ERROR- (
2018, X'7E2') 连接句柄无效。 MQRC_HOBJ_ERROR- (
2019, X'7E3') 对象句柄无效。 MQRC_INT_ATTR_COUNT_ERROR- (
2021, X'7E5') 整数属性计数无效。 MQRC_INT_ATTRS_ARRAY_ERROR- (
2023, X'7E7') 整数属性数组无效。 MQRC_NOT_OPEN_FOR_INQUIRE- (
2038, X'7F6') 队列未打开以进行查询。 MQRC_OBJECT_CHANGED- (
2041, X'7F9') 对象定义自打开以来已更改。 MQRC_OBJECT_DAMAGED- (
2101, X'835') 对象已损坏。 MQRC_PAGESET_ERROR- (
2193, X'891') 访问页集数据集时出错。 MQRC_Q_DELETED- (
2052, X'804') 已删除队列。 MQRC_Q_MGR_NAME_ERROR- (
2058, X'80A') 队列管理器名称无效或未知。 MQRC_Q_MGR_NOT_AVAILABLE- (
2059, X'80B') 队列管理器不可用于连接。 MQRC_Q_MGR_STOPPING- (
2162, X'872') 队列管理器正在关闭。 MQRC_RESOURCE_PROBLEM- (
2102, X'836') 系统资源不足。 MQRC_SELECTOR_COUNT_ERROR- (
2065, X'811') 选择器计数无效。 MQRC_SELECTOR_ERROR- (
2067, X'813') 属性选择器无效。 MQRC_SELECTOR_LIMIT_EXCEEDED- (
2066, X'812') 选择器计数过大。 MQRC_STORAGE_NOT_AVAILABLE- (
2071, X'817') 存储空间不足。 MQRC_SUPPRESSED_BY_EXIT- (
2109, X'83D') 出口程序禁止调用。 MQRC_UNEXPECTED_ERROR- (
2195, X'893') 发生意外错误。
有关这些代码的详细信息,请参阅 消息和原因码
使用说明
- 返回的值是所选属性的快照。 在应用程序可以对返回的值执行操作之前,不保证属性保持不变。
- 打开模型队列时,将创建动态本地队列。 即使打开模型队列以查询其属性,也会创建动态本地队列。动态队列的属性在很大程度上与创建动态队列时模型队列的属性相同。 如果然后在此队列上使用 MQINQ 调用,那么队列管理器将返回动态队列的属性,而不是模型队列的属性。 有关动态队列继承模型队列的哪些属性的详细信息,请参阅 表 1 。
- 如果要查询的对象是别名队列,那么 MQINQ 调用返回的属性值是别名队列的属性。 这些属性不是别名解析为的基本队列或主题的属性。
- 如果要查询的对象是集群队列,那么可查询的属性取决于队列的打开方式:
- 您可以打开集群队列以进行查询以及一个或多个输入,浏览或设置操作。 要执行此操作,必须存在集群队列的本地实例才能成功打开。 在这种情况下,可以查询的属性是对本地队列有效的属性。
如果在未指定输入,浏览或设置的情况下打开集群队列进行查询,那么如果尝试查询仅对本地队列有效的属性,而不对集群队列有效的属性,那么调用将返回完成代码 MQCC_WARNING 和原因码 MQRC_SELECTOR_NOT_FOR_TYPE (2068)。
- 在传递所连接队列管理器的基本队列管理器名称时,可以打开集群队列以进行查询。
要执行此操作,必须存在集群队列的本地实例才能成功打开。 如果未传递基本队列管理器,那么当您尝试查询仅对本地队列有效而不是对集群队列有效的属性时,调用将返回完成代码 MQCC_WARNING 和原因码 MQRC_SELECTOR_NOT_FOR_TYPE (2068)
- 如果单独打开集群队列以进行查询或查询和输出,那么只能查询列出的属性。 在此情况下, QType 属性的值为
MQQT_CLUSTER:MQCA_Q_DESCMQCA_Q_NAMEMQIA_DEF_BINDMQIA_DEF_PERSISTENCEMQIA_DEF_PRIORITYMQIA_INHIBIT_PUTMQIA_Q_TYPE
您可以在没有固定绑定的情况下打开集群队列。 您可以使用 MQOPEN 调用上指定的
MQOO_BIND_NOT_FIXED将其打开。 或者,指定MQOO_BIND_AS_Q_DEF,并将队列的 DefBind 属性设置为MQBND_BIND_NOT_FIXED。 如果打开没有固定绑定的集群队列,那么该队列的连续 MQINQ 调用可能会查询集群队列的不同实例。 但是,对于所有具有相同属性值的实例,这是典型情况。 - 可以为集群定义别名队列对象。 由于 TARGTYPE 和 TARGET 不是集群属性,因此在别名队列上执行 MQOPEN 进程的进程无法识别别名解析到的对象。
在初始 MQOPEN期间,别名队列解析为集群中的队列管理器和队列。 名称解析在远程队列管理器上再次发生,在此解析别名队列的 TARGTPYE 。
如果别名队列解析为主题别名,那么会在此远程队列管理器上发布放入别名队列的消息。
- 您可以打开集群队列以进行查询以及一个或多个输入,浏览或设置操作。 要执行此操作,必须存在集群队列的本地实例才能成功打开。 在这种情况下,可以查询的属性是对本地队列有效的属性。
- 您可能想要查询多个属性,然后使用 MQSET 调用来设置其中一些属性。 要高效地进行程序查询和设置,请将要设置的属性放在选择器数组的开头。 如果执行此操作,那么可以将计数减少的相同数组用于 MQSET。
- 如果出现多个警告情境 (请参阅 CompCode 参数) ,那么返回的原因码是以下列表中适用的第一个原因码:
MQRC_SELECTOR_NOT_FOR_TYPEMQRC_INT_ATTR_COUNT_TOO_SMALLMQRC_CHAR_ATTRS_TOO_SHORT
- 以下主题包含有关对象属性的信息:
C 调用
MQINQ (Hconn, Hobj, SelectorCount, Selectors, IntAttrCount, IntAttrs,
CharAttrLength, CharAttrs, &CompCode, &Reason);
MQHCONN Hconn; /* Connection handle */
MQHOBJ Hobj; /* Object handle */
MQLONG SelectorCount; /* Count of selectors */
MQLONG Selectors[n]; /* Array of attribute selectors */
MQLONG IntAttrCount; /* Count of integer attributes */
MQLONG IntAttrs[n]; /* Array of integer attributes */
MQLONG CharAttrLength; /* Length of character attributes buffer */
MQCHAR CharAttrs[n]; /* Character attributes */
MQLONG CompCode; /* Completion code */
MQLONG Reason; /* Reason code qualifying CompCode */
COBOL 调用
CALL 'MQINQ' USING HCONN, HOBJ, SELECTORCOUNT, SELECTORS-TABLE,
INTATTRCOUNT, INTATTRS-TABLE, CHARATTRLENGTH,
CHARATTRS, COMPCODE, REASON.
** Connection handle
01 HCONN PIC S9(9) BINARY.
** Object handle
01 HOBJ PIC S9(9) BINARY.
** Count of selectors
01 SELECTORCOUNT PIC S9(9) BINARY.
** Array of attribute selectors
01 SELECTORS-TABLE.
02 SELECTORS PIC S9(9) BINARY OCCURS n TIMES.
** Count of integer attributes
01 INTATTRCOUNT PIC S9(9) BINARY.
** Array of integer attributes
01 INTATTRS-TABLE.
02 INTATTRS PIC S9(9) BINARY OCCURS n TIMES.
** Length of character attributes buffer
01 CHARATTRLENGTH PIC S9(9) BINARY.
** Character attributes
01 CHARATTRS PIC X(n).
** Completion code
01 COMPCODE PIC S9(9) BINARY.
** Reason code qualifying COMPCODE
01 REASON PIC S9(9) BINARY.
PL/I 调用
call MQINQ (Hconn, Hobj, SelectorCount, Selectors, IntAttrCount,
IntAttrs, CharAttrLength, CharAttrs, CompCode, Reason);
dcl Hconn fixed bin(31); /* Connection handle */
dcl Hobj fixed bin(31); /* Object handle */
dcl SelectorCount fixed bin(31); /* Count of selectors */
dcl Selectors(n) fixed bin(31); /* Array of attribute selectors */
dcl IntAttrCount fixed bin(31); /* Count of integer attributes */
dcl IntAttrs(n) fixed bin(31); /* Array of integer attributes */
dcl CharAttrLength fixed bin(31); /* Length of character attributes
buffer */
dcl CharAttrs char(n); /* Character attributes */
dcl CompCode fixed bin(31); /* Completion code */
dcl Reason fixed bin(31); /* Reason code qualifying
CompCode */
高级汇编程序调用
CALL MQINQ,(HCONN,HOBJ,SELECTORCOUNT,SELECTORS,INTATTRCOUNT, X
INTATTRS,CHARATTRLENGTH,CHARATTRS,COMPCODE,REASON)
HCONN DS F Connection handle
HOBJ DS F Object handle
SELECTORCOUNT DS F Count of selectors
SELECTORS DS (n)F Array of attribute selectors
INTATTRCOUNT DS F Count of integer attributes
INTATTRS DS (n)F Array of integer attributes
CHARATTRLENGTH DS F Length of character attributes buffer
CHARATTRS DS CL(n) Character attributes
COMPCODE DS F Completion code
REASON DS F Reason code qualifying COMPCODE
Visual Basic 调用
MQINQ Hconn, Hobj, SelectorCount, Selectors, IntAttrCount, IntAttrs,
CharAttrLength, CharAttrs, CompCode, Reason
Dim Hconn As Long 'Connection handle'
Dim Hobj As Long 'Object handle'
Dim SelectorCount As Long 'Count of selectors'
Dim Selectors As Long 'Array of attribute selectors'
Dim IntAttrCount As Long 'Count of integer attributes'
Dim IntAttrs As Long 'Array of integer attributes'
Dim CharAttrLength As Long 'Length of character attributes buffer'
Dim CharAttrs As String 'Character attributes'
Dim CompCode As Long 'Completion code'
Dim Reason As Long 'Reason code qualifying CompCode'