MC_RECEIVE_LOG_DATA谓词允许用户注册以接收与入站函数管理标头 7 (FMH7) 错误报告关联的日志数据。 谓词将缓冲区传递给 APPC,接收的任何日志数据都放置在该缓冲区中。 APPC 继续使用此缓冲区,因为连续 FMH7 到达,直到它与另一个缓冲区(即,直到事务程序 (TP) 发出另一个 MC_RECEIVE_LOG_DATA 指定不同的缓冲区或根本没有缓冲区)。
请注意,TP 本身负责分配和释放缓冲区。 将缓冲区传递到 APPC 后,TP 应发出另一 个MC_RECEIVE_LOG_DATA 指定新缓冲区或零长度缓冲区,或等待会话完成,然后再释放原始缓冲区。
收到 FMH7 后,APPC 会将任何关联的错误日志常规数据流(GDS)复制到缓冲区中。 如果没有关联的错误日志变量,则缓冲区将零出。每当接收谓词的返回代码指示已收到错误时,TP 将检查缓冲区。
以下结构描述了 MC_RECEIVE_LOG_DATA 谓词使用的谓词控制块(VCB)。
语法
struct mc_receive_log_data {
unsigned short opcode;
unsigned char opext;
unsigned char reserv1;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned short log_dlen;
unsigned char FAR * log_dptr;
};
成员
opcode
提供的参数。 指定谓词作代码,AP_M_RECEIVE_LOG_DATA。
opext
提供的参数。 指定谓词作扩展,AP_MAPPED_CONVERSATION。
reserv1
保留字段。
primary_rc
返回的参数。 指定 APPC 在谓词完成时设置的主要返回代码。 有效的返回代码因发布的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅返回代码。
secondary_rc
返回的参数。 指定 APPC 在谓词完成时设置的辅助返回代码。 有效的返回代码因发布的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅返回代码。
tp_id
提供的参数。 标识本地 TP。 此参数的值由调用 TP 中的 TP_STARTED 或调用的 TP 中的 RECEIVE_ALLOCATE 返回。
conv_id
提供的参数。 提供会话标识符。 此参数的值由调用 TP 中的 MC_ALLOCATE 或调用的 TP 中的 RECEIVE_ALLOCATE 返回。
log_dlen
提供的参数。 指定 APPC 可以在缓冲区中放置的最大日志数据长度(即缓冲区大小)。 范围为 0 到 65535。 请注意,此处的长度为零表示应取消任何以前的 MC_RECEIVE_LOG_DATA 谓词。
log_dptr
提供的参数。 指定 APPC 将用于存储日志数据的缓冲区的地址。
返回代码
AP_OK
主要返回代码;已成功执行谓词。
AP_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。
AP_BAD_CONV_ID
辅助返回代码; conv_id 的值与 APPC 分配的会话标识符不匹配。
AP_BAD_TP_ID
辅助返回代码; tp_id 的值与 APPC 分配的 TP 标识符不匹配。