odm_get_list 子例程

用途

检索对象类中与指定条件匹配的所有对象。

对象数据管理器库 (libodm.a)

语法

#include <odmi.h>
struct ClassName *odm_get_list (ClassSymbolCriteriaListInfoMaxReturnLinkDepth) 
struct ClassName_CLASS  ClassSymbol; char * Criteria; struct listinfo *  ListInfo;
int  MaxReturnLinkDepth;

描述

odm_get_list 子例程将对象类和条件作为输入,并返回满足输入条件的对象列表。 如果先前未打开对象类,那么子例程将打开并关闭该子例程周围的对象类。 如果先前打开了对象类,那么子例程在返回时使对象类保持打开状态。

参数

表 1. 参数
描述
ClassSymbol 指定从 odm_open_class 子例程返回的类符号标识。 如果尚未调用 odm_open_class 子例程,那么这是由 odmcreate 命令创建的 ClassName_CLASS 结构。
标准 指定包含用于选择要除去的对象的限定条件的字符串。
ListInfo 指定一个包含有关检索对象的信息的结构。 listinfo 结构具有以下格式:
struct listinfo {
char ClassName[16];     /* class name used for query */
char criteria[256];     /* query criteria */
int num;                /* number of matches found */
int valid;              /* for ODM use */
CLASS_SYMBOL class;     /* symbol for queried class */
};
MaxReturn 指定要返回的对象的预期数目。 这用于控制为结构分配存储器的增量,以减少 realloc 子例程复制开销。
LinkDepth 指定要对具有 ODM_LINK 描述符的对象递归的级别数。 设置 1 指示仅检索顶级; 2 指示 ODM_LINK将仅从顶级/第一级别后跟: 3 指示 ODM_LINK将在第一和第二级别后跟,依此类推。

返回值

成功完成后,将返回一个指向包含对象的 C 语言结构数组的指针。 此结构与从 odmcreate 命令返回的 .h 文件中描述的结构匹配。 如果找不到匹配项,那么将返回空值。 如果 "odm_get_list子程序失败,则返回值为-1,并将odmerrno变量设置为错误代码。

错误代码

odm_get_list 子例程的失败将 odmerrno 变量设置为下列其中一个错误代码:

请参阅 对象数据管理器 (ODM) 错误代码 ,以获取 ODM 错误代码的说明。