非同期要求

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

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

非同期の Read Structured Fields 関数呼び出しの結果を判別するためには、次のステップを行わなければなりません。
  • EHLLAPI 戻りコードが 0 でない場合、要求は失敗しています。したがって、非同期要求は行われていません。アプリケーションでは、再び呼び出しを試みる前に、適切な処置を 行わなければなりません。
  • 戻りコードが 0 ならば、アプリケーションは、Get Request Completion (125) 関数または Wait For Single Object を使用してイベント・オブジェクトが通知状態になるまで待たなければなりません。イベント・オブジェクトは再使用しないでください。イベント・オブジェクトは、Read Structured Fields 関数呼び出しから Get Request Completion (125) 関数呼び出し完了までの間で有効です。
  • イベント・オブジェクトが送信状態になったら、Get Request Completion (125) 関数に対する呼び出しで要求 ID パラメーターとして戻された 16 ビットの要求 ID を使用してください。Get Request Completion (125) 関数呼び出しから戻されたデータ・ストリングには、Read Structured Fields 関数呼び出しの最終的な戻りコードが含まれています。
Read Structured Fields が非同期要求 (データ・ストリング中の M オプション) された際には、アプリケーションでは以下のことを想定できません。
  • 戻りコードが正しい。
  • 通信バッファー (読み取りバッファー) 内のデータが正しい。
  • ホストが今後 Read Structured Fields 要求を処理しない。
M オプションを指定して非同期要求がなされた際には、EHLLAPI は以下の値を 戻します。
  • 16 ビット要求 ID (データ・ストリングのバイト位置 13 ~ 14) (標準インターフェースの場合は 9 ~ 10)
  • 非同期メッセージ・モードのタスク ID (データ・ストリングのバイト位置 17 ~ 18) (標準インターフェースの場合は 11 ~ 12)

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