計算またはデータ・インポートなどの、非同期プロセスの現在の状態を取得します。
構文
ESS_FUNC_M EssGetProcessState (
hCtx, pProcState
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
pProcState |
ESS_PROCSTATE_T |
プロセス状態構造体へのポインタ。 |
備考
pProcStateにESS_STATE_DONEが戻されるまで、この関数を定期的に(5-10秒間隔)呼び出す必要があります。
非同期データベース操作(たとえば計算)が正しく開始される前にこの関数を呼び出すと、エラーが発生します。
pProcStateに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
戻り値
この関数がプロセスの状態を取得できない場合は、エラーが戻されます。エラーが原因で処理が終了すると、そのエラー・コードが戻されます。それ以外の場合は、ESS_STS_NOERRが戻され、状態構造体pProcStateに現在のプロセスの状態が示されます。pProcStateの値:
ESS_STATE_DONE - 0 =完了
ESS_STATE_INPROGRESS - 1 = 進行中
ESS_STATE_FINALSTAGE - 5 = 最終段階。取消しできません
アクセス
この関数を使用するのに、特別な権限は必要ありません。
例
ESS_FUNC_M ESS_RunCalc (ESS_HCTX_T hCtx) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_SHORT_T isResponse; ESS_HCTX_T hSrcCtx; ESS_BOOL_T isObject = ESS_FALSE; ESS_STR_T AppName; ESS_STR_T DbName; ESS_STR_T FileName; ESS_PROCSTATE_T pState; hSrcCtx = hCtx; AppName = "Sample"; DbName = "Basic"; FileName = "Test"; sts = EssCalcFile (hCtx, hSrcCtx, AppName, DbName, FileName, ESS_TRUE); if (!sts) { sts = EssGetProcessState (hCtx, &pState); while(!sts && (pState.State != ESS_STATE_DONE)) sts = EssGetProcessState (hCtx, &pState); } return(sts); }
関連トピック