Set_Error_Direction (CPI-C)
Set_Error_Direction调用 (函数名称 cmsed) 指定程序是在接收数据时还是准备发送数据时检测到错误。
语法
CM_ENTRY Set_Error_Direction(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *error_direction,
CM_INT32 FAR *return_code
);
参数
conversation_ID
提供的参数。 指定会话的标识符。 此参数的值由 Initialize_Conversation 或 Accept_Conversation 返回。
error_direction
提供的参数。 指定程序遇到错误时数据流动的方向。 可能的值为:
CM_RECEIVE_ERROR
从合作伙伴计划收到的数据中出错。
CM_SEND_ERROR
本地计划准备将数据发送到合作伙伴计划时出错。
return_code
从此调用返回的代码。 本主题后面列出了有效的返回代码。
返回代码
CM_OK
主返回代码;调用已成功执行。
CM_PROGRAM_PARAMETER_CHECK
主返回代码; 由 conversation_ID 或 error_direction 指定的值无效。
CM_PRODUCT_SPECIFIC_ERROR
主返回代码;发生特定于产品的错误,并且已记录在产品错误日志中。
状态更改
会话可以处于除 RESET 之外的任何状态。
没有状态更改。
注解
此调用将替代 Initialize_Conversation 或 Accept_Conversation建立的默认错误方向。 默认错误方向为CM_RECEIVE_ERROR。
仅当程序发出 处于SEND_PENDING状态的Send_Error 时,错误方向才相关,在发出 接收和接收数据 (data_received 不是CM_NO_DATA_RECEIVED) 值,并且发送指示器 (status_received CM_SEND_RECEIVED) 。
当会话处于SEND_PENDING状态时,如果程序检测到接收的数据中存在错误,或者在本地程序准备发送数据时出错,则程序会发出 Send_Error 。 程序必须在发出Send_Error之前使用 Set_Error_Direction 提供错误方向信息,因为 LU) (逻辑单元无法判断接收或发送) (发生了哪种错误。 新的错误方向一直有效,直到后续 Set_Error_Direction 更改它。
发出 Send_Error 时,合作伙伴计划会收到以下返回代码之一:
如果 error_direction 设置为 CM_RECEIVE_ERROR,则CM_PROGRAM_ERROR_PURGING
如果 error_direction 设置为 CM_SEND_ERROR,CM_PROGRAM_ERROR_NO_TRUNC