e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。
デバイス ドライバ プログラミング シリーズ
Windows デバイス ドライバ入門(2/10):デバイス ドライバのプログラミング
Yashavant Kanetkar and Asang Dani
ユーティリティとしてのデバイス ドライバ
ドライバは OS の拡張であり信頼性が高いので、アプリケーション レベルのコードでは通常は実行できない処理を実行するために使用されることも多くあります。
システム ユーティリティがそのよい例です。システム ユーティリティは、ユーティリティの代わりに低レベルの動作の多くを実行するデバイス ドライバ形式の追加モジュールを持っていることがあります。
たとえば、アプリケーション コンポーネントとデバイス ドライバ コンポーネントを含むモニタリング ユーティリティが数多くあります。システム内のすべてのディスクの操作、ネットワークの動作、およびレジストリの動作を監視する、Filemon、Netmon、および Regmon のような一般的なユーティリティがあります。これらのユーティリティのデバイス ドライバ コンポーネントは動作のログを生成し、アプリケーション コンポーネントはそのログを適切な形式で表示します。
大きなソフトウェアに組み込まれたドライバのもう一つの例は、アンチウィルス ソフトウェアです。アンチウィルス ソフトウェアは、ドライバ プログラムを使用して、以下のような多くの動作を実行します。
- OS を含む、実行中のすべてのプロセスのメモリをスキャンします。
- 実行するプログラムを最初に確実にウィルス スキャンするオートプロテクト機能を提供します。ウィルスが見つかると、プログラムの実行は停止されます。
ドライバ コードは、物理的ハードウェア デバイスをエミュレートするために使用されます。たとえば、CD-ROM ドライブをエミュレートする市販およびシェアウェアのユーティリティがたくさんあります。
既存のドライバの動作を変更するには、ドライバを作成し直す必要がある場合もあります。たとえば、ファイル システム ドライバとやりとりして、ディスクで読み書きするデータを暗号化/複合化するドライバを作成することが考えられます。



