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