Flush (CPI-C)
Flush 调用 (函数名称 cmflus) 将本地逻辑单元 (LU) 的发送缓冲区的内容发送到伙伴 LU (和程序) 。 如果发送缓冲区为空,则不执行任何操作。
语法
CM_ENTRY Flush(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
参数
conversation_ID
提供的参数。 指定会话的标识符。 此参数的值由 Initialize_Conversation 或 Accept_Conversation 返回。
return_code
从此调用返回的代码。 本主题后面列出了有效的返回代码。
返回代码
CM_OK
主返回代码;调用已成功执行。
CM_OPERATION_NOT_ACCEPTED
主返回代码;对此会话的上一个操作不完整。
CM_OPERATION_INCOMPLETE
主返回代码;操作尚未完成, (处理模式是非阻止,仅) 且仍在进行中。 程序可以发出 Wait_For_Conversation 以等待操作完成,或 Cancel_Conversation 取消操作和会话。 如果已调用 Specify_Windows_Handle ,则应用程序应等待 Microsoft® Windows® 消息的通知,而不是 调用 Wait_For_Conversation。
CM_PROGRAM_PARAMETER_CHECK
主返回代码; 由 conversation_ID 指定的值无效。
CM_PROGRAM_STATE_CHECK
主返回代码;当程序发出此调用时,会话未处于 SEND 或 SEND_PENDING 状态。
CM_PRODUCT_SPECIFIC_ERROR
主返回代码;发生特定于产品的错误,并且已记录在产品错误日志中。
状态更改
会话必须处于 SEND 或 SEND_PENDING 状态。
如果调用成功完成, (return_code CM_OK) ,则会话处于 SEND 状态。
其他返回代码不会导致状态更改。
注解
Send_Data处理的数据会累积在本地 LU 发送缓冲区中,直到发生以下情况之一:
本地程序发出 Flush 调用或其他刷新 LU 发送缓冲区的调用。 (某些由 Set_Send_Type 设置的发送类型包括刷新功能。)
缓冲区已满。
分配生成的分配请求以及Send_Error生成的错误信息也会被缓冲。