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 解除配置