Set_Send_Type调用(函数名称 cmsst)指定下一Send_Data调用发送数据的方式。 它替代 通过Initialize_Conversation 或 Accept_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_Conversation 或 Accept_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_ID或send_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 | 解除分配 |