Net.Data 使用 dtw_parm_data_t 结构向语言环境传递参数。这些参数有三个来源:
Net.Data 首先传递明确的参数,然后传递 ENVIRONMENT 语句中指定的参数,接着再是返回变量。
dtw_parm_data_t 结构具有以下格式:
typedef struct dtw_parm_data_t { /* 参数数据 */
int parm_descriptor; /* 参数描述符 */
char *parm_name; /* 参数名 */
char *parm_value; /* 参数值 */
void *res1; /* 保留 */
void *res2; /* 保留 */
} dtw_parm_data_t;
dtw_parm_data_t 结构中的字段:
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() 应用函数来释放原始的字符串。