同花(CPI-C)

Flush 呼叫(函式名稱 cmflus)會將本地邏輯單元(LU)的 send buffer 內容傳送給合作夥伴的 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設定,包含 flush 功能。)

  • 緩衝區已滿。

    由 Allocate 產生的配置請求與 Send_Error 產生的錯誤資訊也會被緩衝。