dsmBeginGetData

dsmBeginGetData 函数调用对存储器中的对象列表启动复原或检索操作。 此对象列表包含在 dsmGetList 结构中。 应用程序使用查询中在调用 dsmBeginGetData之前的值创建此列表。

调用者必须首先使用从对象查询获取的恢复顺序字段来对此调用中包含的列表排序。 这将确保尽可能以最有效的方法从存储器中恢复对象,而无需对数据磁带进行倒带或重新安装。

获取整个对象时,最大 dsmGetList.numObjID 为 DSM_MAX_GET_OBJ。 获取部分对象时,最大值为 DSM_MAX_PARTIAL_GET_OBJ。

遵循对 dsmBeginGetData 的调用,对 dsmGetObj 进行一次或多次调用以获取列表中的每个对象。 获取每个对象后,或者不需要该对象的其他数据,将发送 dsmEndGetObj 调用。

获取所有对象或取消 dsmEndGetObj 时,将发送 dsmEndGetData 调用。 然后,可以再次开始循环。

语法

dsInt16_t dsmBeginGetData (dsUint32_t       dsmHandle,
   dsBool_t     mountWait,
   dsmGetType   getType,
   dsmGetList  *dsmGetObjListP);

参数

dsUint32_t dsmHandle (I)
将此调用与之前的 dsmInitEx 调用相关联的句柄。
dsBool_t mountWait (I)
布尔值 true 或 false 指示,在所需数据当前脱机的情况下,应用程序客户机是否等待安装脱机介质。 如果 mountWait 为 true,那么应用程序将等待服务器安装所需介质。 直到介质安装完成或请求取消,应用程序将一直处于等待状态。
dsmGetType getType (I)
一种枚举类型,包括 gtBackupgtArchive,指示要获取的对象类型。
dsmGetList *dsmGetObjListP (I)
该结构包含有关要复原或检索的对象或部分对象的信息。 该结构指向对象标识的列表,如果是部分对象复原或检索,还指向关联的偏移量和长度的列表。 如果应用程序使用部分对象恢复或检索功能,请将 dsmGetList.stVersion 字段设置为 dsmGetListPORVersion。 在部分对象恢复或检索功能中,发送数据时无法进行压缩。 要强制实施此操作,请将 ObjAttr.objCompressed 设置为 bTrue

请参阅 图 1API 类型定义源文件 ,以获取有关此结构的更多信息。

有关部分对象复原或检索的更多信息,请参阅 部分对象复原或检索

返回码

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

表 1. 返回代码为 dsmBeginGetData
返回码 说明
DSM_RC_ABORT_INVALID_OFFSET (33) 部分对象检索期间指定的偏移量大于对象的长度。
DSM_RC_ABORT_INVALID_LENGTH (34) 部分对象检索期间指定的长度大于对象的长度,否则长度加上偏移量会延长到超出对象的尾部。
DSM_RC_NO_MEMORY (102) 没有剩余的 RAM 来完成请求。
DSM_RC_NUMOBJ_EXCEED (2029) dsmGetList.numObjId 大于 DSM_MAX_GET_OBJ。
DSM_RC_OBJID_NOTFOUND (2063) 找不到对象标识。 该对象未恢复。
DSM_RC_WRONG_VERSION_PARM (2065) 应用程序客户机的 API 版本与 IBM® Storage Protect 库版本不同。