Net.Data 使用 dtw_parm_data 结构来向语言环境传递参数。这些参数有三个来源:
Net.Data 首先传递明确的参数,然后传递 ENVIRONMENT 语句中指定的参数,接着再是返回变量。
dtw_parm_data 结构具有以下格式:
typedef struct dtw_parm_data { /* 参数数据 */ int parm_descriptor; /* 参数描述符 */ char *parm_name; /* 参数名 */ char *parm_value; /* 参数值 */ void *res1; /* 保留 */ void *res2; /* 保留 */ } dtw_parm_data_t;
dtw_parm_data 结构中的字段:
Net.Data 总是将 parm_descriptor 字段设置为 DTW_IN、DTW_OUT 或 DTW_INOUT,并在它们 与 DTW_STRING 和 DTW_TABLE 之间使用一个逻辑“或”。
parm_name 和 parm_value 都指向一个从 Net.Data 运行时间堆阵分配 的对象(所谓堆阵,就是 Net.Data 用于动态存储器分配的存储器区域)。如果用其它字符串来 替换 parm_name 或 parm_value,那么原始的字符串必须被释放并用一个指向从 Net.Data 堆阵分配 的字符串的指针来代替。使用 dtw_malloc() 和 dtw_free() 应用函数来释放原始的字符串。