Convert_Incoming (CPI-C)
Convert_Incoming呼び出し (関数名 cmcnvi) は、EBCDIC 文字の文字列を ASCII に変換します。 戻り値の変換は 、Convert_Outgoingを使用して実行できることに注意してください。
構文
CM_ENTRY Convert_Incoming(
unsigned char FAR *string,
CM_INT32 FAR *string_length,
CM_INT32 FAR *return_code
);
パラメーター
string
指定されたパラメーター。 変換する EBCDIC 文字列を指定します。 文字列には、次のいずれかの文字を含む場合があります。
大文字の A から Z
小文字の a から z
数値 0 から 9
コマンドの最後にある
スペース文字
特殊文字 <> + - ( ) & * ; : 、 ' ? / _= ".
この文字列のstring_length文字は、ASCII に相当する文字に置き換えられます。
string_length
指定されたパラメーター。 変換する文字数を指定します (1 から 32767)。return_code
この呼び出しから返されたコード。 有効なリターン コードについては、このトピックの後半で説明します。
リターン コード
CM_OK
プライマリ リターン コード。呼び出しが正常に実行され、 文字列 パラメーターに変換された ASCII 文字列が含まれるようになりました。
CM_OPERATION_NOT_ACCEPTED
プライマリ リターン コード。 string_length パラメーターで無効な値が指定されました。
CM_PRODUCT_SPECIFIC_ERROR
プライマリ リターン コード。製品固有のエラーが発生し、製品エラー ログに記録されています。
State Changes (状態の変化)
会話は任意の状態にすることができます。
状態の変更はありません。
注釈
基本的な会話でデータをバッファー形式で受信する場合、データ バッファーには複数の論理レコードが含まれていることがあり、それぞれが 2 バイトの長さフィールド (NN) とそれに続くデータで構成されます。 アプリケーションでは、各データ文字列を個別に抽出して変換する必要があります (長さフィールド値を除く)。 これにより長さフィールドの値が無効になるため、アプリケーションは 1 回の操作でバッファー全体の変換を試みてはなりません。