Net.Data 语言环境参考
每个语言环境的接口函数都接收一个指向 dtw_lei 结构的指针。dtw_lei 结构具有以下
格式:
typedef struct dtw_lei { /* 语言环境接口 */
char *function_name; /* 函数块名称 */
int flags; /* 语言环境接口标志 */
char *exec_statement; /* 语言环境语句 */
dtw_parm_data_t *parm_data_array; /* 参数数组 */
char *default_error_message; /* 缺省消息 */
void *le_opaque_data; /* 语言环境特定的数据 */
void *row; /* 用于“每次一行”处理 */
char reserved[64]; /* 保留 */
} dtw_lei_t;
dtw_lei 结构中的字段:
- function_name
- function_name 字段中包含一个指向字符串的指针,该字符串中包含函数块
的名称。这在语言环境所显示的错误消息中指定 FUNCTION 块的名称时有用。
- 标志
- Net.Data 使用标志字段来与语言环境通信。它通过执行一个使用以下常量的“或”操作
来设置该标志字段指针:
- Net.Data 设置 DTW_STMT_EXEC 是为了告诉 dtw_execute() 接口函数:exec_statement 字段
中包含来自 EXEC 语句的文件名和参数。
- DTW_END_ABNORMAL 是由 Net.Data 设置的,用于告诉 dtw_cleanup() 接口函数出现了不正常
或非期望的情况,并且语言环境需要在 Net.Data 终止之前执行必需的清理(即,释放占有的资源)。
- DTW_LE_FATAL_ERROR 是由一个语言环境接口函数设置的,用于告诉 Net.Data 语言环境中发生了
致命错误。
如果设置了此标志,Net.Data 将停止对 Net.Data 宏的处理,调用所有活动的语言环境中标志设置
为 DTW_END_ABNORMAL 的 dtw_cleanup() 接口函数,打印出缺省的消息,然后退出。只有对语言环境
调用返回非零值时才检查此标志。
- DTW_LE_MSG_KEEP 是由一个语言环境接口函数设置的,用于告诉 Net.Data 不应
释放 default_error_message 所指向的存储器。如果没有设置这个常量,Net.Data 将试图释放该存储器。
- DTW_LE_CONTINUE 是由 dtw_execute() 接口函数设置的,用于告诉 Net.Data 去
调用 dtw_getNextRow() 接口函数。只有在设置了此标志并且 dtw_execute() 接口函数的返回值
为零时,Net.Data 才调用 dtw_getNextRow()。
- exec_statement
- exec_statement 字段中包含下面的一个指针:
- 指向一个字符串的指针,该字符串中包含来自 FUNCTION 块的可执行语句(在变量替代之后)
- 指向文件名与参数的指针,它们来自 EXEC 语句
- parm_data_array
- parm_data_array 字段包含一个指向 dtw_parm_data 结构的数组的指针。该数组以一个包含零
的 parm_data 结构结束。Net.Data 使用 dtw_parm_data 结构来将变量和相关的值传递给一个语言
环境,并检索语言环境可能对变量值作的任何更改。请参阅dtw_parm_data 结构,以获取对该结构的描述。
- default_error_message
- default_error_message 字段是由语言环境设置的,它被设置为一个描述错误条件的
字符串。如果对语言环境接口函数调用的返回值非零,且返回值与 MESSAGE 块中的消息值不匹配,
则将显示缺省的消息。否则,Net.Data 将显示从 MESSAGE 块中选择的消息。
- le_opaque_data
- le_opaque_data 字段是由语言环境中的任一接口函数设置的,用于将参数从
一个接口函数传递到另一个接口函数。Net.Data 保存指针并将它传递到 Net.Data 调用的另一个
接口函数中。在处理完 Net.Data 宏之后、返回 Net.Data 之前,Net.Data 将定义指向 NULL 的
指针。因为这个字段是特定于线程的,所有语言环境可以存储特定于线程的数据。只有当您具有
一个 dtw_cleanup() 接口函数时才使用此字段,这样函数就可以释放与 le_opaque_data 字段关联的
存储器。
- row
- row 字段是由 Net.Data 设置在调用一个语言环境的 dtw_getNextRow() 接口函数时为行对象
设置的。dtw_getNextRow() 函数使用 Net.Data 行实用程序接口函数在对象中插入一行
表格数据。然后,Net.Data 处理该行并调用 dtw_getNextRow(),直至没有需要处理的行为止。
保留字段是为 IBM 今后的使用而保留的。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]