dsmRetentionEvent

dsmRetentionEvent 函数调用将对象标识列表发送到 IBM® Storage Protect 服务器,并对这些对象执行保留事件操作。 在 dsmBeginTxndsmEndTxn 调用中使用此函数调用。

注: 服务器必须为 V 5.2.2.0 或更高版本,此功能才能正常工作。

调用中对象的最大数量限制为 maxObjPerTxn 的值。 ApisessInfo 结构中返回的 dsmQuerySessInfo 的值。

仅对象的所有者可以对该对象发送事件。

以下为可能的事件:
eventRetentionActivate
仅可对与基于事件的管理类绑定的对象发送。 发送此事件可为该对象激活事件,且该对象的保留状态将从 DSM_ARCH_RETINIT_PENDING 更改为 DSM_ARCH_RETINIT_STARTED。
eventHoldObj
此事件将发出保留或暂时禁用删除该对象的消息,从而在发布此下达前,该对象不会过期且无法删除。
eventReleaseObj
此事件只能针对 objectHeld 字段中值为 DSM_ARCH_HELD_TRUE 的对象发出,并除去继续使用原保留策略的对象的暂时禁用。

在发送 dsmRetentionEvent之前,请发送 查询 IBM Storage Protect 系统 中描述的查询序列,以获取对象的信息。 对 dsmGetNextQObj 的调用将返回名为 qryRespArchiveData 的数据结构以便归档查询。 此数据结构包含 dsmRetentionEvent 所需的信息。

语法

extern dsInt16_t DSMLINKAGE dsmRetentionEvent(
  dsmRetentionEventIn_t          *ddsmRetentionEventInP,
  dsmRetentionEventOut_t         *dsmRetentionEventOutP
   );

参数

dsmRetentionEventIn_t *dsmRetentionEventP
此结构包含以下输入参数:
dsUint16_t stVersion;
此参数指示结构版本。
dsUint32_t dsmHandle (I)
将此调用与之前的 dsmInitEx 调用相关联的句柄。
dsmEventType_t evenType (I);
此参数指示事件类型。 有关这些可能值的含义,请参阅本节的开始部分: eventRetentionActivateeventHoldObjeventReleaseObj
dsmObjList_t objList;
此参数指示要发信号的对象标识的列表。

返回码

返回码编号用括号 ( ) 括起。

表 1. dsmRetentionEvent 的返回码
返回码 说明
DSM_RC_ABORT_NODE_NOT_AUTHORIZED (36) 节点或用户不具有适当权限。
DSM_RC_ABORT_TXN_LIMIT_EXCEEDED (249) 该事务中的对象太多。
DSM_RC_ABORT_OBJECT_ALREADY_HELD (250) 该对象已保留,无法发出其他保留消息。
DSM_RC_REJECT_SERVER_DOWNLEVEL (58) 服务器必须为 V5.2.2.0 或更高版本时此函数才能运行。