使用上の注意
- 戻りコード 35。これは、ホストからのアウトバウンド送信が取り消された後に Read Structured Fields または Write Structured Fields が要求された場合に戻されます。アプリケーションで修正処置を行う必要があります。
- 戻りコード 36。この場合、アプリケーションを エミュレーション・プログラムから切断してから再接続して、ホストとの通信を 再確立する必要があります。アプリケーションで修正処置を行う必要があります。
- 戻りコード 37。これはホスト・インバウンドが使用不可の場合に 戻されます。Read Structured Fields 関数は正常に要求されました。
- EHLLAPI では、アプリケーションごとに 20 までの非同期要求を未処理に することができます。20 を超える非同期要求が試行されると、リソースが使用不可であることを 示す戻りコード (RC=11) が戻されます。
構造化フィールド・データには、ホストからのアプリケーション構造化フィールドが含まれています。構造化フィールド・データがアプリケーションに達する前に、 EHLLAPI が構造化フィールド・ヘッダーを除去します。
構造化フィールド・データの形式は以下のとおりです。
オフセット: | 長さ | 目次 |
---|---|---|
0 | 1 ワード | X'0000'。 |
2 | 1 ワード | m (メッセージの長さ。すなわち、メッセージ中のデータのバイト数。この数は 8 バイトを含むメッセージ・ヘッダーの接頭部を除いたものです)。EHLLAPI がこの値を戻します。 |
4 | 1 ワード | n (バッファー・サイズ。すなわち、8 バイトのメッセージ・ヘッダーを除くデータ・バッファーの長さを示します)。この値は、アプリケーションが設定する必要があります。 |
6 | 1 ワード | X'C000'。 |
8 | 8 バイト | 先頭の (または唯一の) 構造化フィールド・メッセージの長さ。 |
10 | 1 バイト | 構造化フィールド・メッセージの長さ以外の最初のバイト。 |
⋮ | ||
m+7 | 1 バイト | 構造化フィールド・メッセージの末尾のバイト。 |
バイト 0 から 7 は、バッファー・ヘッダーです。最初のこれらの 8 バイトは、エミュレーション・プログラムで使用されます。バッファーのユーザー・セクションは、オフセット 8 で開始されます。バイト 8 および 9 は、最初の構造化フィールド (構造化フィールド・メッセージには複数の構造化フィールドを含むことができます) 内のバイト数が入っています (バイト 8 および 9 に対する 2 バイトなど)。 バイト 8 から m +7 は、構造化フィールド・メッセージがホスト (複数の構造化フィールドを入れることができます) から戻される場所です。
使用中のアプリケーションは、オフセット 0 のワードを 0 に設定して、 完全なバッファーを提供しなければなりません。バッファー長は、オフセット 4 のワードになければなりません。 オフセット 6 のワードは X'C000' にする必要があります。エミュレーション・プログラムは、データ・メッセージをオフセット 8 から入れ、 メッセージの長さをオフセット 2 のワードに入れます。 バッファー長は EHLLAPI により妨害されません。