MC_RECEIVE_LOG_DATA

MC_RECEIVE_LOG_DATA谓词允许用户注册以接收与入站函数管理标头 7 关联的日志数据, (FMH7) 错误报告。 谓词将缓冲区传递给 APPC,接收的任何日志数据都放置在该缓冲区中。 当连续 FMH7 到达时,APPC 会继续使用此缓冲区,直到它提供另一个缓冲区 (即,直到事务程序 (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 标识符不匹配。