共用方式為


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_type 設定為 CM_BUFFER_DATA,後面接著 Send_Data
CM_SEND_AND_FLUSH 沖洗
CM_SEND_AND_CONFIRM 確認
CM_SEND_AND_PREP_TO_RECEIVE Prepare_To_Receive
CM_SEND_AND_DEALLOCATE 解除分配