Set_Log_Data(CPI-C)

Set_Log_Data调用(函数名称 cmsld)指定要发送到伙伴逻辑单元(LU)的日志消息(日志数据)及其长度。 此调用仅在基本对话中允许。 它重写默认日志数据(为 null),默认日志数据长度为零。

语法

  
CM_ENTRY Set_Log_Data(   
  unsigned char FAR *conversation_ID,    
  unsigned char FAR *log_data,           
  CM_INT32 FAR *log_data_length,         
  CM_INT32 FAR *return_code              
);  

参数

conversation_ID
提供的参数。 指定会话的标识符。 此参数的值由 Initialize_ConversationAccept_Conversation返回。

log_data
提供的参数。 指定要发送到合作伙伴 LU 的数据的起始地址。 最多可以包含 512 个 ASCII 字符。 允许的字符为:

  • 大写字母和小写字母。

  • 数字从 0 到 9。

  • 特殊字符。

  • 空间。

    log_data_length
    提供的参数。 指定日志数据的长度。 范围为 0 到 512 字节。

    长度为 0 表示没有日志数据,并忽略 log_data 参数。

    return_code
    从此调用返回的代码。 本主题后面列出了有效的返回代码。

返回代码

CM_OK
主要返回代码;调用已成功执行。

CM_PROGRAM_PARAMETER_CHECK
主要返回代码;发生以下事件之一:

  • 由conversation_ID指定的值无效。

  • 会话类型设置为映射。

  • 由log_data_length指定的值超出范围(大于 512 或小于 0)。

    CM_PRODUCT_SPECIFIC_ERROR
    主要返回代码;发生了特定于产品的错误,并且已记录在产品错误日志中。

状态更改

对话可以处于除 RESET 之外的任何状态。

没有状态更改。

注解

当本地计划发出以下调用之一时, Set_Log_Data 指定的日志数据将发送到合作伙伴 LU:

  • Send_Error

  • 聊天解除分配类型设置为CM_DEALLOCATE_ABEND

  • Send_Data 会话发送类型设置为CM_SEND_AND_DEALLOCATE,将解除分配类型设置为CM_DEALLOCATE_ABEND

    将日志数据发送到合作伙伴 LU 后,本地 LU 会将日志数据重置为 null,日志数据长度为零。

    CPI-C 根据需要自动将日志数据从 ASCII 转换为其他编码标准,例如 EBCDIC。