WinDriver での開発における「デバイス ドライバー」とは

デバイス ドライバー

「デバイス ドライバー」 という言葉が恐らく曖昧になっているかと思います。 WinDriver をベースに使用していく中では、デバイス制御に関わるソフトウェア層、と解釈いただければと思います。

そしてその構成するモジュールとして、

  • windrvrXXXX.sys をカーネルドライバー
  • WinDriver API(wdapiXXXX.dll) をコールする層をドライバーアプリケーション(ドライバアプリ)、または、ユーザーモードドライバー

と呼んでいます。

.inf ファイルはドライバーそのものではなく、ドライバーを OS のレジストリに登録するための情報の記述がなされていたり、インストール時に一緒にコピーするファイルの情報について記述するファイルです。wdreg コマンドでのインストールには、2 種類の inf を用います。windrvrXXXX.inf とデバイス用の inf です。デバイス用の inf は、基本的には DriverWizard の [Generate INF] ボタンの操作から作成したものを使用してもらえばよいのですが、例えばサンプルで PLX9050 用の inf が提供されておりますので、このご利用も可能です。ただし、カーネルドライバが windriverXXXX.sys のファイル名のままの場合です。

今後のために、WinDriver で使用する .inf の中身を確認しておいていただきたいのですが、デバイス用 inf では、カーネルドライバ名、署名ファイル名 (.cat)、デバイスマネージャーでのエントリー名などについて記載があります。現バージョンの p9050.inf には、windrvr1270.sys と通信するよう記載があるので、この条件下なら動作できるということです。

開発が進み、実際に商用化するような場合には、カーネルドライバ名を変更して使用したくなるかと思います。その場合は、対応する inf の記述になっている必要があります。Wizard の [Generate Code] ボタンから作成したコードやプロジェクトのディレクトリには、\xxxx_installation のディレクトリがあります。ここに作成された inf は、変更したカーネルドライバ名で使用できるように対処なされておりますので、inf の内容を比較確認しておいていただければと思います。

そして .inf にはサポート期限などの制限はありません。期限に関係するのは、ライセンスコードなのですが、これが埋め込まれているのは、前述のドライバアプリのみです。ドライバーを開いたり、デバイスにアクセスする API がコールされる度に、ライセンスチェックが行われるようです。

カーネルドライバー名を変更して使用することに関して、ユーザーズガイドにも記載がなされておりますので、必要な場合にはご確認ください。ソースコードにも、どの名前のカーネルドライバーと通信するか指定している個所もありますので、これもご確認いただければと思います。デフォルトでは、windrvrXXXX.sys と通信するようになっています。

Jungo 社製品 WinDriver の詳細は今すぐこちらからチェック!

【9月 11日 (火)】開催決定! WinDriver PCI 向け製品説明会

WinDriver の導入をご検討いただいているお客様、既に購入され設計や開発段階のユーザー様を対象に WinDriver の製品説明会/相談会を開催いたします。WinDriver で作成した FPGA ボード用ドライバでの DMA 転送のデモ、デジタル署名の説明を行います。
セミナー詳細は、こちらからご確認ください。