dsmRetentionEvent
dsmRetentionEvent 函数调用将对象标识列表发送到 IBM® Storage Protect 服务器,并对这些对象执行保留事件操作。 在 dsmBeginTxn 和 dsmEndTxn 调用中使用此函数调用。
注: 服务器必须为 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);
- 此参数指示事件类型。 有关这些可能值的含义,请参阅本节的开始部分: eventRetentionActivate、eventHoldObj、eventReleaseObj
- dsmObjList_t objList;
- 此参数指示要发信号的对象标识的列表。
返回码
返回码编号用括号 ( ) 括起。
| 返回码 | 说明 |
|---|---|
| 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 或更高版本时此函数才能运行。 |