![[IBM i]](ngibmi.gif)
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 */