- 外部アプリケーションからターゲットをスタート/ストップさせる方法
このページでは、ターゲットのリソース(バーチャルマシン、以下VM)のスタート/ストップを外部トリガーのイベントで行う方法の一例を示します。これはターゲットのフック関数をカスタマイズすることで実現します。ワークベンチ側の修正は不要です。
このサンプルはWindows NTの場合です。
仕様
VMのカレントディレクトリ(通常はターゲットのCMDSディレクトリ)に"STOP"という名前のファイルが生成されると、ターゲットはストップします。
また、"START"という名前のファイルが生成されると、ターゲットはスタートします。
アルゴリズム
ターゲットをストップさせる簡単な方法は、エラーモードに移行させることです(アプリケーションで0除算が発生した場合などにもこのモードになります)。このモードになってもI/Oドライバはコールされますが、アプリケーションは実行されません。そのため、この例ではこのモードでI/Oドライバの使用も禁止する方法についても説明します。
まず、下記の関数は"stop" ファイルを検出するためのもので、ターゲットのフック関数で使用します。コードは "SmpHooks.c" に追加します。
なお、フックを実装する方法については「ターゲットにフック関数を実装する方法」をご覧ください。
/**************************************************************************
File: SmpHooks.c
Author: GGR - CJ International
Creation date: 27-Jun-2001 --- 4.10 Released ---
***************************************************************************
ドキュメント:
***************************************************************************
説明: メッセージを表示するための関数
***************************************************************************
Modifications: (who / date / description)
***************************************************************************/
#include <dsys0def.h>
#include ...
- 外部アプリケーションからターゲットをスタート/ストップさせる方法
このページでは、ターゲットのリソース(バーチャルマシン、以下VM)のスタート/ストップを外部トリガーのイベントで行う方法の一例を示します。これはターゲットのフック関数をカスタマイズすることで実現します。ワークベンチ側の修正は不要です。
このサンプルはWindows NTの場合です。
仕様
VMのカレントディレクトリ(通常はターゲットのCMDSディレクトリ)に"STOP"という名前のファイルが生成されると、ターゲットはストップします。
また、"START"という名前のファイルが生成されると、ターゲットはスタートします。
アルゴリズム
ターゲットをストップさせる簡単な方法は、エラーモードに移行させることです(アプリケーションで0除算が発生した場合などにもこのモードになります)。このモードになってもI/Oドライバはコールされますが、アプリケーションは実行されません。そのため、この例ではこのモードでI/Oドライバの使用も禁止する方法についても説明します。
まず、下記の関数は"stop" ファイルを検出するためのもので、ターゲットのフック関数で使用します。コードは "SmpHooks.c" に追加します。
なお、フックを実装する方法については「ターゲットにフック関数を実装する方法」をご覧ください。
/**************************************************************************
File: SmpHooks.c
Author: GGR - CJ International
Creation date: 27-Jun-2001 --- 4.10 Released ---
***************************************************************************
ドキュメント:
***************************************************************************
説明: メッセージを表示するための関数
***************************************************************************
Modifications: (who / date / description)
***************************************************************************/
#include <dsys0def.h>
#include ...