Set_Send_Type(CPI-C)

Set_Send_Type调用(函数名称 cmsst)指定下一Send_Data调用发送数据的方式。 它替代 通过Initialize_ConversationAccept_Conversation建立的默认发送类型。 默认发送类型为CM_BUFFER_DATA,指示仅发送数据(且不发送控制信息)。

send_type值会影响所有后续Send_Data调用。 可以通过重新发出 Set_Send_Type来更改它。

语法

  
CM_ENTRY Set_Send_Type(   
  unsigned char FAR *conversation_ID,    
    CM_INT32 FAR *send_type,               
  CM_INT32 FAR *return_code              
);  

参数

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

send_type
提供的参数。 指定下 一Send_Data 调用发送数据的方式。 可能的值为:

CM_BUFFER_DATA
Send_Data指向的数据存储在缓冲区中,直到缓冲区填满或刷新为止。

CM_SEND_AND_FLUSH
Send_Data指向的数据将立即发送。

CM_SEND_AND_CONFIRM
数据将立即发送,并请求确认。

CM_SEND_AND_PREP_TO_RECEIVE
数据将立即连同通知发送到合作伙伴计划,即发送程序的会话状态正在更改为 RECEIVE。

CM_SEND_AND_DEALLOCATE
数据将连同解除分配通知一起立即发送。

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

返回代码

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

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

  • 由conversation_IDsend_type指定的值无效。

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

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

    状态更改

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

    没有状态更改。

注解

send_type值,这些值导致使用Send_Data指向的数据发送其他信息,从而可以节约发出的呼叫数。 下表汇总了 Send_Data 等价。

Send_Data send_type设置为 此值 相当于 Send_Data,send_type 设置为CM_BUFFER_DATA后跟
CM_SEND_AND_FLUSH 冲洗
CM_SEND_AND_CONFIRM 确认
CM_SEND_AND_PREP_TO_RECEIVE Prepare_To_Receive
CM_SEND_AND_DEALLOCATE 解除分配