[IBM i]

IBM i 上的 MQZ_DELETE_AUTHORITY (删除权限)

此函数由授权服务组件提供,并且由队列管理器调用以删除与指定对象关联的所有权限。

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

语法

MQZ_DELETE_AUTHORITY (QMgrName, ObjectName, ObjectType,
ComponentData, Continuation, CompCode, Reason)

参数

MQZ_DELETE_AUTHORITY 调用具有以下参数。

QMgrName (MQCHAR48)-输入
队列管理器名称。

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

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

ObjectName (MQCHAR48)-输入
对象名称。

要删除其访问权的对象的名称。 字符串的最大长度为 48 个字符; 如果它比它短,那么将用空格填充到右边。 名称未以空字符终止。

如果 ObjectType 是 MQOT_Q_MGR ,那么此名称与 QMgrName相同。

ObjectType (MQLONG)-输入
对象类型。
ObjectName指定的实体类型。 它是下列项之一:
MQOT_AUTH_INFO
认证信息。
MQOT_通道
通道。
mqot_clntconn_channel
客户机连接通道。
MQOT_监听器
侦听器。
MQOT_名称列表
NAMELIST.
MQOT_PROCESS
process definition.
MQOT_Q
队列。
MQOT_Q_MGR
队列管理器。
MQOT_服务
服务。
ComponentData(MQBYTE xComponentDataLength) - 输入/输出
组件数据。

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

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

连续 (MQLONG)-输出
按组件设置的连续指示符。
可以指定以下值:
MQZCI_默认
依赖于队列管理器的延续。

对于 MQZ_DELETE_AUTHORITY ,这与 MQZCI_STOP 具有相同的效果。

MQZCI_CONTINUE
继续下一个组件。
MQZCI_STOP
请勿继续使用下一个组件。
CompCode (MQLONG)-输出
完成代码。
它是下列项之一:
MQCC_OK
成功完成。
MQCC_FAILED
调用失败。
原因 (MQLONG)-输出
原因码限定 CompCode
如果 CompCode 为 MQCC_OK:
MQRC_NONE
(0, X'000') 没有要报告的原因。
如果 CompCode 是 MQCC_FAILED:
mqrc_service_error
(2289,X'8F1')访问服务时发生意外错误。
mqrc_service_not_available
(2285,X'8ED')基础服务不可用。

有关这些原因码的更多信息,请参阅 消息和原因码

C 调用

MQZ_DELETE_AUTHORITY (QMgrName, ObjectName, ObjectType, ComponentData,
                     &Continuation, &CompCode, &Reason);
传递到服务的参数声明如下:
MQCHAR48  QMgrName;          /* Queue manager name */
MQCHAR48  ObjectName;        /* Object name */
MQLONG    ObjectType;        /* Object type */
MQBYTE    ComponentData[n];  /* Component data */
MQLONG    Continuation;      /* Continuation indicator set by
                                component */
MQLONG    CompCode;          /* Completion code */
MQLONG    Reason;            /* Reason code qualifying CompCode */