Set_Prepare_To_Receive_Type (CPI-C)

Set_Prepare_To_Receive_Type调用 (函数名称 cmsptr) 指定后续Prepare_To_Receive调用的执行方式。 它替代由 Initialize_ConversationAccept_Conversation建立的默认准备接收处理。 默认情况下,准备接收处理基于会话的同步级别。

准备接收类型会影响所有后续 Prepare_To_Receive 调用。 可以通过重新发出 Set_Prepare_To_Receive_Type来更改它。

语法

  
CM_ENTRY Set_Prepare_To_Receive_Type(   
  unsigned char FAR *conversation_ID,    
  CM_INT32 FAR *prepare_to_receive_type,    
  CM_INT32 FAR *return_code              
);  

参数

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

prepare_to_receive_type
提供的参数。 指定后续 Prepare_To_Receive 调用的执行方式。 可能的值为:

CM_PREP_TO_RECEIVE_CONFIRM
用于向合作伙伴程序发送逻辑单元的发送缓冲区的内容, (LU) 和确认请求。 收到确认后,会话将更改为 RECEIVE 状态。

CM_PREP_TO_RECEIVE_FLUSH
用于向合作伙伴程序发送本地 LU 发送缓冲区的内容,并将会话更改为 RECEIVE 状态。

CM_PREP_TO_RECEIVE_SYNC_LEVEL
由会话同步级别用于确定准备接收处理。 默认同步级别由 Initialize_Conversation 建立,可由 Set_Sync_Level重写。

如果会话的同步级别为CM_NONE,则默认情况下,本地 LU 发送缓冲区的内容将发送到合作伙伴计划,并且会话将更改为 RECEIVE 状态。 如果会话的同步级别CM_CONFIRM,则本地 LU 发送缓冲区的内容和确认请求将发送到合作伙伴计划。 当合作伙伴计划发出 “已确认”(响应确认请求)时,对话将更改为 RECEIVE 状态。

return_code
此调用返回的代码。 本主题稍后将列出有效的返回代码。

返回代码

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

CM_PROGRAM_PARAMETER_CHECK
主返回代码;发生了以下情况之一:

  • prepare_to_receive_typeconversation_ID 指定的值无效。

  • prepare_to_receive_type 参数设置为 CM_PREP_TO_RECEIVE_CONFIRM,但会话同步级别设置为 CM_NONE。

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

状态更改

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

没有状态更改。