odm_get_list 子例程
用途
检索对象类中与指定条件匹配的所有对象。
库
对象数据管理器库 (libodm.a)
语法
#include <odmi.h> struct ClassName *odm_get_list (ClassSymbol, Criteria, ListInfo, MaxReturn, LinkDepth)
struct ClassName_CLASS ClassSymbol; char * Criteria; struct listinfo * ListInfo;
int MaxReturn, LinkDepth;描述
odm_get_list 子例程将对象类和条件作为输入,并返回满足输入条件的对象列表。 如果先前未打开对象类,那么子例程将打开并关闭该子例程周围的对象类。 如果先前打开了对象类,那么子例程在返回时使对象类保持打开状态。
参数
| 项 | 描述 |
|---|---|
| ClassSymbol | 指定从 odm_open_class 子例程返回的类符号标识。 如果尚未调用 odm_open_class 子例程,那么这是由 odmcreate 命令创建的 ClassName_CLASS 结构。 |
| 标准 | 指定包含用于选择要除去的对象的限定条件的字符串。 |
| ListInfo | 指定一个包含有关检索对象的信息的结构。 listinfo 结构具有以下格式:
|
| MaxReturn | 指定要返回的对象的预期数目。 这用于控制为结构分配存储器的增量,以减少 realloc 子例程复制开销。 |
| LinkDepth | 指定要对具有 ODM_LINK 描述符的对象递归的级别数。 设置 1 指示仅检索顶级; 2 指示 ODM_LINK将仅从顶级/第一级别后跟: 3 指示 ODM_LINK将在第一和第二级别后跟,依此类推。 |
返回值
成功完成后,将返回一个指向包含对象的 C 语言结构数组的指针。 此结构与从 odmcreate 命令返回的 .h 文件中描述的结构匹配。 如果找不到匹配项,那么将返回空值。 如果 "odm_get_list子程序失败,则返回值为-1,并将odmerrno变量设置为错误代码。
错误代码
odm_get_list 子例程的失败将 odmerrno 变量设置为下列其中一个错误代码:
- ODMI_BAD_CRIT
- ODMI_CLASS_DNE
- odmi_class_perms
- 奥德米 _INTERNAL_ERR
- odmi_invalid_clxn
- odmi_invalid_path
- odmi_link_not_found
- odmi_magicnoo_err
- odmi_malloc_err
- ODMI_OPEN_ERR
- ODMI_PARAMS
- odmi_toomanyclasses
请参阅 对象数据管理器 (ODM) 错误代码 ,以获取 ODM 错误代码的说明。