非同期要求

Write Structured Fields が非同期要求 (データ・ストリング中の A オプション) された際には、 アプリケーションでは以下のことを想定できません。
  • 戻りコードが正しい。
  • 通信バッファー (書き込みバッファー) 内のデータが正しい。
  • ホストが今後 Write Structured Fields 要求を処理しない。
非同期要求がなされた際には、EHLLAPI は以下の値を戻します。
  • 16 ビット要求 ID (データ・ストリングのバイト位置 13 ~ 14) (標準インターフェースの場合は 9 ~ 10)
  • イベント・オブジェクトのアドレス (データ・ストリングのバイト位置 17 ~ 20)

これらは、非同期の Write Structured Fields 呼び出しを完了させるために使用します。

非同期の Write Structured Fields 関数呼び出しの結果を判別するためには、次のステップを行わなければなりません。
  • EHLLAPI 戻りコードが 0 でない場合、要求は失敗しています。したがって、非同期要求は行われていません。アプリケーションでは、再び呼び出しを試みる前に、適切な処置を 行わなければなりません。
  • 戻りコードが 0 ならば、アプリケーションは、Get Request Completion (125) 関数を使用してイベント・オブジェクトが送信状態になるまで待たなければなりません。イベント・オブジェクト Get Request Completion (125) 関数は再使用しないでください。イベント・オブジェクトは、Write Structured Fields 関数呼び出しから Get Request Completion (125) 関数呼び出し完了までの間で有効です。
  • イベント・オブジェクトが送信状態になったら、Get Request Completion (125) 関数に対する呼び出しで要求 ID パラメーターとして戻された 16 ビットの要求 ID を使用してください。Get Request Completion (125) 関数呼び出しから戻されたデータ・ストリングには、Write Structured Fields 関数呼び出しの最終的な戻りコードが含まれています。