新規記事投稿
フォロー記事投稿
記事のキャンセル
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 のアホ〜〜〜〜〜〜 !!