-003- インスタンスって何のこと?
前へ TOPへ 次へ

アプリケーションプログラムの起動方法は既に説明してある。 インスタンス(Instance)とは、アプリケーションが動作している(HDD内の実行ファイルがメモリ内にロードされ、CPUがこの命令コードを1個ずつ読み込んで実行する)ときの呼び名である。 1つのアプリケーション(例えばnotepad.exe)は同時に複数個起動することが可能である。このことをリエントラント(re-entrant)方式といい、OSの属性の一つになっている。

例えばスタートメニューから「ファイル名を指定して実行」メニューを押して“notepad”と入力しOKする。するとメモ帳が一つ開く。 そこでもう一度同じように“notepad”と入力しOKを押す。するとメモ帳がもう一つ開く。 つまり、起動した回数だけメモ帳のウィンドウが開いてそれぞれ別々のインスタンスが生成されるのである。 以上のように実行するとひとつのメモ帳はインスタンスA、もう一方のメモ帳はインスタンスBとして実行している。

ここで、各インスタンスを識別するためのインスタンス識別子のことをインスタンスハンドルといい、OSからWinMain関数に制御が渡される際に同関数の第一引数として渡される。 これを失うと、自分が誰か分からなくなってしまうのである。


前へ TOPへ 次へ