10.2.4 SPTHTerminate (スクリプト実行を強制終了する)
- 機能
-
スクリプト実行を強制終了します。
- プロトタイプ宣言
BOOL APIENTRY SPTHTerminate ( HANDLE hScript , LPCSTR lpszFileName , UINT uProcessID , DWORD dwOption );
- 引数
-
- hScript
-
SPTHOpen関数で受け取ったスクリプト制御ハンドルを指定します。
- lpszFileName
-
スクリプトファイル名をフルパスで指定します。
この値はSPTHOpen関数で指定したコンピュータから見たファイルパスでなければなりません。
uProcessIDを指定した場合,この値を省略(NULLを指定)することができます。
- uProcessID
-
スクリプトのプロセスIDを指定します。
lpszFileNameを指定した場合,この値を省略(0を指定)することができます。
- dwOption
-
オプションを0,または次の値の組み合わせで指定します。
値
意味
SPTH_TERM_CHILD
スクリプトがExecやNetExecコマンドから呼び出した実行ファイルも強制終了する。要求してから3分経過しても実行ファイルが終了しない場合は,Win32 APIのTerminateProcess関数を使用して強制終了する。
SPTH_DQ_FILENAME
IpszFileNameで指定された値の間に空白が含まれているとき,値がダブルクォーテーションで囲まれる場合は,空白もファイル名の一部とみなし,値がダブルクォーテーションで囲まれていない場合は,最後の空白以降の文字列をファイル名とみなす。
- 説明
-
成功した場合はTRUEを,失敗した場合はFALSEを返します。拡張エラーコードはGetLastError関数で取得できます。
なお,終了するべきプロセスが存在しなくても(すでに終了していても)この関数は正常終了(TRUEを返す)します。
正常終了した場合でも実際にプロセス終了処理を行ったかどうかはGetLastError関数の戻り値で判定できます。プロセス終了処理を行った場合はNO_ERRORを返し,そうでない場合はそれ以外の値を返します。
- 備考
-
lpszFileNameとuProcessIDは,どちらかを省略することができますが,両方を指定した方がより確実に終了するべきスクリプトプロセスを特定することができるため,やむを得ない事情が無い限り両方を指定してください。
なお,複数起動したスクリプトプロセスを終了させる場合は,必ずuProcessIDを指定してください。
この関数によってスクリプトの実行を強制的に終了させた場合,スクリプトプロセスの戻り値は以下で示されるレジストリの値(デフォルトは17)になります。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\SOFTWARE\Hitachi\JP1/Script\SPTX\ExitCode
- 〔値名〕
-
Terminate
- 〔値のデータタイプ〕
-
REG_DWORD
- 〔値〕
-
スクリプトプロセスの戻り値
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
- 補足
-
JP1/AJSから,スクリプトの実行を強制終了する場合,SPTHTerminateを使用しています。詳細は「2.7.2(6) JP1/AJSからのJP1/Scriptの強制終了方法」を参照してください。
- 対象バージョン
-
JP1/Script 05-00以降