Jungo WinDriver: Kernel PlugIn 機能
WinDriver Kernel PlugIn 機能
デバイスへのアクセスに WinDriver の関数 ("WD_XXX" 関数) を使用して、ユーザーモードでドライバを記述します。ユーザーモードの特定の関数でカーネル レベルのパフォーマンスを必要とする場合 (たとえば、割り込みの処理など)、関数を WinDriver の Kernel PlugIn へ移行します。
一般的に、同じ WinDriver の API をユーザーモードと Kernel PlugIn の両方でサポートしてるので、WD_XXX の呼び出しを使用するコードを修正せずに、ユーザーモードから Kernel PlugIn へ移行することができるはずです。Kernel PlugIn は、Windows XP / Server 2003 / Server 2008 / Vista / 7 および Linux で利用可能です。
Kernel PlugIn は、PCI アプリケーションで利用され (割り込み処理など)、USB アプリケーションではサポートされてません。
WinDriver のカーネルと Kernel PlugIn 間では、以下の 2 つのインターアクションのタイプがあります:
- 割り込み処理: WinDriver が割り込みを受信すると、デフォルトでは、ユーザーモードのドライバで割り込み処理を有効にします。
ただし、WinDriver の Kernel PlugIn で割り込みを処理するように設定すると、WinDriver が割り込みを受信すると、カーネルの割り込み関数で割り込みを処理します。
ユーザーモードの割り込みハンドラーで記述し、デバッグした同じコードですが、必要に応じて、ユーザーモードのコードの一部を修正してください。
Kernel PlugIn で割り込みの確認と処理を行うコードを再記述し、Kernel PlugIn で提供する柔軟性を活用することを推奨します。
Driver Wizard を使用して、Kernel PlugIn の割り込みコードを生成することができます。
- メッセージの受け渡し: カーネル モードで関数を実行するには (I/O 処理関数など)、ユーザーモードのドライバが単純に "メッセージ" を WinDriver の Kernel PlugIn へ渡します。
メッセージを特定の関数へマップし、カーネルで実行します。この関数は、ユーザーモードで記述し、デバッグしたのと同じコードを含みます。
Kernel PlugIn の開発サイクルの最後で、対象のドライバには以下の要素が含まれます:
- 対象のユーザーモードのドライバ - WinDriver の関数 (WD_XXX 関数) を使用して記述した .EXE
- WinDriver のカーネル モジュール - windrvr6.sys (Windows XP / Server 2003 / Server 2008 / Vista / 7) または windrvr6.o (Linux)
- 対象の Kernel PlugIn ドライバ - MyDriver.sys/vxd/o - これが、カーネル レベルへ移植した機能を持つドライバです
|
|
詳細
製品に関するご質問は、 こちらからお問い合わせください!
|
|