非同期ホストプロセス呼び出しAPI

※v8.0からサポートされました。

非同期ホストプロセス呼び出しAPI が追加されました。
ホスト固有のコマンドまたはシェルコマンドを子プロセスで起動し、
コマンドまたはシェルの起動や終了をイベントで検出することが
できるようになります(特権アプレットのみ)。

async-spawn-host-process
プロシージャが追加されました。
指定されたホスト固有のコマンドを子プロセスで起動し、バックグラウンドプロセスにハンドルを返す既存プロシージャ spawn-host-process の非同期バージョンです。
引数は以下のように定義されています。

||子プロセスで起動される実行可能ファイル。実行可能ファイルは、ローカル ファイル システムの Url として、またはローカル ファイル名を含んでいる String として指定される可能性があります。
executable
||コマンドのパラメータが格納されます。パラメータは、StringArray に格納された 0 個以上の引数として指定されます。
args
||HostProcessEvent を受け取る EventHandler で、少なくとも一つは指定する必要があります。イベントの HostProcessCreatedEvent と HostProcessExitedEvent を参照してください。
event-handler…
||このパラメータが null でない場合、このパラメータには、コマンドの明示的なホスト環境が含まれていなければなりません。このパラメータが NULL の場合は、子プロセスが既存のホスト環境を継承します。
host-environment
||このパラメータが true に設定されている場合は、リターンされた HostProcess から子プロセスの標準入力を取得できます。
write-stdin?
||この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準出力を取得できます。
read-stdout?
||この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準エラーを取得できます。
read-stderr?
||この引数を true に設定した場合、コンソール モードが実行可能であっても生成される HostProcess はコンソール ウィンドウなしで実行されます。
suppress-console-window?

戻り値: 子プロセスとのやりとりに使用される可能性がある HostProcessを返します。

async-spawn-host-shell プロシージャが追加されました。
指定されたホスト固有のシェルコマンドを子プロセスで起動し、バックグラウンドプロセスにハンドルを返す既存プロシージャ spawn-host-shell の非同期バージョンです。
引数は以下のように定義されています。

||1つの String として引数を含む、実行対象のコマンド。
command
||HostProcessEvent を受け取る EventHandler で、少なくとも一つは指定する必要があります。
event-handler
||このパラメータが null でない場合、このパラメータには、コマンドの明示的なホスト環境が含まれていなければなりません。このパラメータが NULL の場合は、子プロセスが既存のホスト環境を継承します。
host-environment
||このパラメータが true に設定されている場合は、リターンされた HostProcess から子プロセスの標準入力を取得できます。
write-stdin?
||この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準出力を取得できます。
read-stdout?
||この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準エラーを取得できます。
read-stderr?
||この引数を true に設定した場合、コンソール モードが実行可能であっても生成される HostProcess はコンソール ウィンドウなしで実行されます。
suppress-console-window?

戻り値: 非同期ホストプロセスを制御することができる AsyncHostProcessWorker を返します。

async-spawn-host-shell, async-spawn-host-processに、以下のイベントを処理するイベントハンドラを渡し、起動や終了を検出して処理を記述することができます。

||ホストプロセスの生成に失敗すると exceptionアクセサ からnull以外の値が戻ります。
HostProcessCreatedEvent:
||終了コードをexit-statusアクセサから取得できます。
HostProcessExitedEvent:

以下は、Windowsのverコマンドを、同期プロシージャと非同期プロシージャのそれぞれで五回連続して呼び出すサンプルです。

http://developers.curlap.com/curl/v8/async-host-procsee.curl