Last Update 2003/10/30

仮想デバイスドライバの作り方
Windows95の周辺機器を動かすための基礎知識

大貫 広幸 著
B5判 260ページ
3.5"2HD FD付き
定価2,619円(税込)
JAN9784789833844
1997年11月15日発行
[絶版2002.4.30] 仮想デバイスドライバの作り方
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 デバイスドライバは,オペレーティング・システムの管理の下でコンピュータのハードウェアを直接制御するプログラムモジュールです.これにより,さまざまな機能をもった周辺装置をコンピュータから制御することができます.
 ところで,Windows95にも当然デバイスドライバが必要ですが,これは仮想デバイスドライバ(VxD)と呼ばれています.Windows95の場合は,MS-DOSとの互換性を重視しているため標準的なデバイスドライバとはかなり異なった構造をしており,そのためVxDを作成するためにはさまざまな知識が必要です.
 現在のところ,日本語による仮想デバイスドライバの作成方法に関する資料は,ほとんどないといっても過言ではありません.そこで本書では,基本的なWindows95の構造から始めてWindows3.1のVxDの作り方,Windows95のVxDの作り方,パラレル入出力を例にしたVxDの作り方などについて詳細に解説しました.
 本書により,自分が作成したハードウェアをWindows95から制御することも夢ではありません.

目次

第1章 Windows95とMS-DOSの関係
 1.1 Windows95の特徴
 1.2 Windows95の起動
 1.3 Windows95とデバイスドライバの登録
 1.4 Windows95とMS-DOS
 1.5 Windows95に付属するMS-DOSとは
 1.6 Windows95実行中のMS-DOSの役割
 1.7 Windows95のMS-DOSアプリケーションの実行
 1.8 Windows95の環境設定とMS-DOSの始動メニューの連動

第2章 Windows3.1とWindows95のメモリ構成と実行形式
 2.1 Windows3.1とWindows NTのメモリマップの概要
 2.2 Windows95のメモリマップの概要
 2.3 Windows3.1とWindows NTのメモリ管理の違い
 2.4 Windows95のメモリ管理と保護
 2.5 メモリマップトファイル
 2.6 Windows95のプログラムの実行形態
 2.7 16ビットAPIと32ビットAPIの処理
 2.8 Windows95のVxDの特徴

第3章 Windows3.1用の仮想デバイスドライバの作り方
 3.1 WindowsプログラムでVxDを利用するメリット
 3.2 VxDを作成するための基礎知識
 3.3 DDB表示プログラムとメモリ内容表示プログラムで使用したVxD
 3.4 CLVMMSP1.386のテストプログラム
 3.5 DSPVXDDB.EXE,WMDUMP.EXEの機能とCLVMMSP1.386の役割
 3.6 DSPVXDDB.EXEおよびWMDUMP.EXEの処理
 3.7 Windows上の空きI/Oポートを調べるプログラムについて

第4章 VxDを利用したWindows3.1用プログラムの作り方
 4.1 仮想マシン間通信用VxDの仕様
 4.2 CLVMMSP2.386の処理の概要
 4.3 クライアント部のプログラムの仕様
 4.4 SENDSYS,WINEXEC,RECVSTRの処理の概要
 4.5 CLVMMSP2.386の技術の応用について

第5章 Windows3.1の仮想デバイスドライバをWindows95で使う方法
 5.1 Windows3.1,WindowsNT,Windows95の仮想デバイスドライバの違い
 5.2 Windows3.1用VxDをWindows95アプリケーションから使用するプログラムの作成
 5.3 Windows95で空きI/Oポートの調べ方

第6章 Windows95用VxDの作成方法とWin32APIによるVxDの呼び出し方
 6.1 Win32APIによるVxDの呼び出し方法
 6.2 DeviceIoControl呼び出しに対応したVxDの作成法

第7章 C言語によるWindows95用VxDの作成
 7.1 なぜ,Windows95ではC言語によるVxDの作成が可能か
 7.2 C言語でVxDを作成するための基礎知識
 7.3 C言語によるVxDの作成

第8章 Windows95におけるハードウェア割り込み処理の基本
 8.1 パラレル入出力ボードの仕様とスイッチLEDボードの作成
 8.2 スイッチLEDボードの作成
 Appendix 82C55の使い方
 コラム ● AT互換機の一般的な空きIRQの作り方

第9章 物理的なハードウェア割り込み処理
 9.1 物理的なハードウェア割り込みとは
 9.2 8259Aの動作
 9.3 8259Aのコマンド
 9.4 CPUの割り込みの種類
 9.5 CPUの実行モードと割り込み
 9.6 リアルモードのハードウェア割り込み処理のプログラム例

第10章 仮想的なハードウェア割り込みのメカニズム
 10.1 仮想マシンとハードウェア割り込み
 10.2 VPICDの実際の処理
 10.3 テストとその結果
 10.4 VPICDの動作について
 10.5 VxD内でのみハードウェア割り込みを処理
 10.6 仮想マシンにハードウェア割り込みを提供するには
 10.7 仮想マシンに対するハードウェア割り込みモニタ用VxDの作成
 10.8 VxD内でハードウェア割り込みを処理するプログラム

第11章 Windows95アプリケーションでハードウェア割り込みを扱う方法
 11.1 Win32SDKで作成したC言語のWindowsアプリケーションでハードウェア割り込みを受け取る
 11.2 Visual Basicでハードウェア割り込みを受け取る方法
 11.3 Visual BasicでI/Oポートのアクセスやハードウェア割り込みを扱うVxDとOCXを作る
 コラム ● Windows95にI/Oアドレス,IRQ番号を登録する