計算またはデータ・インポートなどの、非同期プロセスの現在の状態を取得します。
構文
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);
}
関連トピック