Set_Error_Direction (CPI-C)
Set_Error_Direction呼び出し (関数名 cmsed) は、データの受信中またはデータ送信の準備中にプログラムがエラーを検出したかどうかを指定します。
構文
CM_ENTRY Set_Error_Direction(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *error_direction,
CM_INT32 FAR *return_code
);
パラメーター
conversation_ID
指定されたパラメーター。 会話の識別子を指定します。 このパラメーターの値は 、Initialize_Conversation または Accept_Conversationによって返されました。
error_direction
指定されたパラメーター。 プログラムでエラーが発生したときにデータが流れる方向を指定します。 次のいずれかの値になります。
CM_RECEIVE_ERROR
パートナー プログラムから受信したデータでエラーが発生しました。
CM_SEND_ERROR
ローカル プログラムがパートナー プログラムにデータを送信する準備をしている間にエラーが発生しました。
return_code
この呼び出しから返されたコード。 有効なリターン コードについては、このトピックの後半で説明します。
リターン コード
CM_OK
主なリターン コード。呼び出しが正常に実行されました。
CM_PROGRAM_PARAMETER_CHECK
主なリターン コード。 conversation_ID または error_direction で指定された 値が無効 です。
CM_PRODUCT_SPECIFIC_ERROR
主なリターン コード。製品固有のエラーが発生し、製品エラー ログに記録されています。
State Changes (状態の変化)
会話は RESET 以外の任意の状態にすることができます。
状態の変更はありません。
注釈
この呼び出しは、 Initialize_Conversation または Accept_Conversationによって確立された既定のエラー方向をオーバーライドします。 既定のエラーの方向はCM_RECEIVE_ERRORです。
エラーの方向は、プログラムがSEND_PENDING状態で Send_Error を発行し、データの 送受信直後 (data_received はCM_NO_DATA_RECEIVED以外の値) と送信インジケーター (status_received がCM_SEND_RECEIVEDされている場合にのみ関連します。
メッセージ交換がSEND_PENDING状態 の場合、 プログラムは、受信したデータのエラーを検出した場合、またはローカル プログラムがデータを送信する準備をしている間にエラーが発生した場合に、Send_Errorを発行します。 論理装置 (LU) はエラーの発生の種類 (受信または送信) を確認できないため、プログラムはSend_Errorを発行する前に、Set_Error_Directionを使用してエラー方向情報を提供する必要があります。 新しいエラーの方向は、後続の Set_Error_Direction によって変更されるまで有効です。
Send_Errorが発行されると、パートナー プログラムは次のいずれかのリターン コードを受け取ります。
error_directionが CM_RECEIVE_ERROR に設定されている場合のCM_PROGRAM_ERROR_PURGING
error_directionが CM_SEND_ERROR に設定されている場合のCM_PROGRAM_ERROR_NO_TRUNC