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_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 | 解除分配 |