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_Dataが指すデータと共に追加情報を送信するsend_type値を使用すると、発行された呼び出しの数を節約できます。 次の表は、 Send_Data 等価性をまとめたものです。
send_typeがこの値に設定されているSend_Data | 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 | 割り当て解除 |