MQZ_TERM_NAME-终止名称服务

此函数由名称服务组件提供,并且由队列管理器在不再需要此组件的服务时启动。 此函数必须执行组件所需的任何清除。

此函数 (针对 MQZEP) 的函数标识为 MQZID_TERM_NAME。

语法

MQZ_TERM_NAME( Hconfig , Options , QMgrName , ComponentData , CompCode , Reason )

参数

配置
类型 :MQHCONFIG-输入

配置句柄。 此句柄表示正在终止的特定组件。 在使用 MQZEP 函数调用队列管理器时,组件将使用此参数。

选项
类型 :MQLONG-输入
终止选项。 它必须是下列其中一个值:
MQZTO_PRIMARY
主终止。
MQZTO_次要
辅助终止。
QMgrName
类型:MQCHAR48 - 输入

队列管理器名称。 调用组件的队列管理器的名称。 此名称将用空格填充到参数的完整长度; 该名称未以空字符终止。

队列管理器名称将传递给组件以获取信息; 授权服务接口不要求组件以任何定义的方式使用该名称。

ComponentData
类型:MQBYTE xComponentDataLength- 输入/输出

组件数据。 此数据由队列管理器代表此特定组件保存; 此组件提供的任何函数 (包括初始化函数) 对其进行的任何更改都将保留,并在下次调用其中一个组件函数时显示。

组件数据位于可供所有进程访问的共享内存中。

此数据区的长度由队列管理器在 MQZ_INIT_NAME 调用的 ComponentDataLength 参数中传递。

MQZ_TERM_NAME 调用完成后,队列管理器将废弃此数据。

CompCode
类型:MQLONG - 输出
完成代码。 它必须是下列其中一个值:
MQCC_OK
成功完成。
MQCC_FAILED
调用失败。
原因
类型:MQLONG - 输出

原因码限定 CompCode

如果 CompCode 为 MQCC_OK:
MQRC_NONE
(0, X'000') 没有要报告的原因。
如果 CompCode 为 MQCC_FAILED:
MQRC_TERMINATION_FAILED
(2287,X'8FF') 终止失败,原因未定义。
MQRC_服务不可用
(2285,X'8ED')基础服务不可用。
有关这些原因码的更多信息,请参阅 API 完成代码和原因码

C 调用

MQZ_TERM_NAME (Hconfig, Options, QMgrName, ComponentData, &CompCode,
              &Reason);
传递到服务的参数声明如下:
MQHCONFIG  Hconfig;           /* Configuration handle */
MQLONG     Options;           /* Termination options */
MQCHAR48   QMgrName;          /* Queue manager name */
MQBYTE     ComponentData[n];  /* Component data */
MQLONG     CompCode;          /* Completion code */
MQLONG     Reason;            /* Reason code qualifying CompCode */