新規記事投稿 フォロー記事投稿 記事のキャンセル
From: Akitaka HOSOMI <hosomi@ga2.so-net.ne.jp>
Subject: 仮想デバイスドライバ
Date: 1998/10/27 03:58:10

わしは、デバイスドライバが書けると、Windows 上のプログラミングに関しては、然程
怖いものは無くなるんじゃないのかな?などと、考えたりする。



実際、殆どの高級言語では、送られてくるメッセージのハンドリングが可能であるし、
 OS の提供する API は直接利用できるし、プロセス内にいくつかのスレッドを作成する
ことまで、簡単にできたりする。

# なんと便利な世の中じゃ〜。


自分は、Delphi を好んで使っているが、DLL はイッチョ前に作れてしまうは、コンポー
ネントの COM 化 や DCOM( ActiveX ) 化ができるは、Winsock もいじれるは、で、Win 
で扱える大概のことは、なんとかなったりする。

インライン・アセンブラの利用や ターボ・アセンブラなどが吐出すオブジェクト・ファ
イルのリンクも可能なので、そこそこ、小細工もできる。

さらに、これらの環境を使って作ったアプリケーションのレベルでは、いまだ、問題を
感じたことがないぐらい、安定してたりする。

# 自分の作ったアプリがよく落ちるってのは、システムの扱いが下手だ ということだ。
# ワケの判らんモノを次々インストールしたら、不安定になって当たり前なのさ。



そんなこんなで、Win を飼いならして、こちらの都合に合わせて調教するためには、デ
バイスドライバが唯一の障害だったりもする。

 FA 分野では、割込みやポート入出力、物理メモリへのアクセスなどが必須なので、結
構、重要なんだよね。DOS の頃とは違って、これらは、OS が管理している資源( 一応 )
だから、ハンドリング時は、特権レベル 0 で CPU を使ってやるのが、Win 本来のやり
方だ。

で、Win 95 などでは、VxD( 仮想デバイスドライバ )のお出ましとなるわけさ。


近頃では、これらのハードウェア資源を扱う汎用ドライバも、サードパーティから提供
されてはいるが、自分で書けると、アプリを組む上での自由度が違ってくる。

つまり、他所では、ちょっとやれないことが、出来るようになるわけさ。



以前は、MS の提供してる DDK 以外に資料らしき資料もなかったけど、探してみると、

 TRY COMPUTING( TRY! PC 別冊 : CQ 出版社 )として

    仮想デバイスドライバの作り方

なんて本が出てるね。勉強しながら、ボチボチやるかの〜〜。


ドライバレベルの話なので、Win の持ってる GUI 絡みの面倒な部分は、まず無い。その
ため、概要が理解できれば、DOS レベルで C/C++ を扱うのと大差ない話ではある。



でもねぇ、苦労して書いたところで、Win NT では使えないので、また、話がややこしく
なるんだな。NT と共用できる WDM( Win32 Driver Model )って、Win98 から採用された
モノだし ......

困ったね、こりゃ。


# MS のアホ〜〜〜〜〜〜 !!