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 つのインターアクションのタイプがあります:

  1. 割り込み処理: WinDriver が割り込みを受信すると、デフォルトでは、ユーザーモードのドライバで割り込み処理を有効にします。 ただし、WinDriver の Kernel PlugIn で割り込みを処理するように設定すると、WinDriver が割り込みを受信すると、カーネルの割り込み関数で割り込みを処理します。 ユーザーモードの割り込みハンドラーで記述し、デバッグした同じコードですが、必要に応じて、ユーザーモードのコードの一部を修正してください。 Kernel PlugIn で割り込みの確認と処理を行うコードを再記述し、Kernel PlugIn で提供する柔軟性を活用することを推奨します。 Driver Wizard を使用して、Kernel PlugIn の割り込みコードを生成することができます。
  2. メッセージの受け渡し: カーネル モードで関数を実行するには (I/O 処理関数など)、ユーザーモードのドライバが単純に "メッセージ" を WinDriver の Kernel PlugIn へ渡します。 メッセージを特定の関数へマップし、カーネルで実行します。この関数は、ユーザーモードで記述し、デバッグしたのと同じコードを含みます。

Kernel PlugIn の開発サイクルの最後で、対象のドライバには以下の要素が含まれます:

  1. 対象のユーザーモードのドライバ - WinDriver の関数 (WD_XXX 関数) を使用して記述した .EXE
  2. WinDriver のカーネル モジュール - windrvr6.sys (Windows XP / Server 2003 / Server 2008 / Vista / 7) または windrvr6.o (Linux)
  3. 対象の Kernel PlugIn ドライバ - MyDriver.sys/vxd/o - これが、カーネル レベルへ移植した機能を持つドライバです

詳細

製品に関するご質問は、こちらからお問い合わせください!