レジストリを設定する
OAL の調整が終了したら、プラットフォームのシステム レジストリを設定することができます。Windows CE のロードが始まると、カーネルはファイル システムを起動し、HKEY_LOCAL_MACHINE\Init レジストリ キーを調べて実行するアプリケーションを確認します。OS がロードするアプリケーションはユーザーが決定しますが、ほとんどのプラットフォームでは次のアプリケーションを含めます。
-
デバッグ シェル (Shell.exe)
Shell.exe は、開発用のワークステーションで実行されている Eshell.exe または Cesh.exe アプリケーションと通信します。デバッグおよび開発に使用する OS イメージには、Shell.exe のみを含めてください。Shell.exe は、ユーザーが Eshell.exe または Cesh.exe を使用して Windows CE イメージを転送した後、コマンド プロンプト ビルド ウィンドウに Windows CE プロンプトを表示します。
デバイス マネージャ (Device.exe)
グラフィック、ウィンドウおよびイベントのサブシステム (Gwes.exe)
Gwes.exe はまた、キーボード ドライバなどの入力デバイス ドライバをロードして初期化します。
タスク マネージャ (Taskman.exe)
システムの起動時にどのアプリケーションを実行させるかを制御するには、起動レジストリ値を作成します。起動レジストリ値はレジストリに格納する必要はありません。ただし、依存関係を指定することはでき、32 個のアプリケーションまで指定できます。次の表は、HKEY_LOCAL_MACHINE\Init キーのエントリの一覧です。
エントリ名 | 値 | 型 |
---|---|---|
Launchnn | program.exe | REG_SZ |
Dependnn | hex:xx,yy[,xx,yy] | REG_BINARY (yy は、最も重要なビットです。) |
起動レジストリ値は、Dependnn レジストリ値によって示される、オプションの依存関係を持っています。Dependnn レジストリ値は、Launchnn アプリケーションが実行される前に Windows CE で実行されている必要があるアプリケーションを示しています。Dependnn レジストリ値は、キーワード Depend で始まり、その後に Launchnn レジストリ値と同じ 10 進数の数が続きます。Dependnn レジストリ値は、Windows CE がアプリケーションを起動する順番を定義します。Dependnn 値ごとに、1 つまたは複数の依存アプリケーションを指定できます。依存アプリケーションは、16 進数の一連の文字で指定されます。次のコード サンプルは、依存関係を使用した、通常の Init レジストリ エントリを示しています。
[HKEY_LOCAL_MACHINE\Init]
"Launch10"="shell.exe"
"Launch20"="device.exe"
"Launch30"="gwes.exe"
"Depend30"=hex:14,00
"Launch50"="taskman.exe"
"Depend50"=hex:14,00, 1e,00
このサンプルでは、Gwes.exe は Device.exe の起動に依存し、Taskman.exe は Device.exe および Gwes.exe の起動に依存しています。
Windows CE が Init レジストリ値を使用してアプリケーションを呼び出した後、そのアプリケーションは SignalStarted 関数を呼び出す必要があります。SignalStarted は、アプリケーションで、残りの OS が処理を続行するための準備ができたことを示します。SignalStarted にパラメータとして渡される値は、Init キーから開始されたアプリケーションのコマンド ラインに渡される値です。レジストリの形式の詳細については、「Registry File」を参照してください。既定のレジストリ設定の詳細については、「Default Registry Settings」を参照してください。