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。