[FILE] Windows 2000 の Ramdisk.sys サンプル ドライバ

重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明

概要

Ramdisk はソフトウェアのみで Windows(R) 2000 デバイス ドライバを説明する良い例です。このドライバは指定したサイズの RAM ディスク ドライブを作成します。この Ramdisk は他のディスクと同じように使用できますが、コンピュータをシャットダウンすると、ディスクの内容は失われます (一般に、Ramdisk よりも Windows(R) 2000 キャッシュ マネージャの方がメモリ利用の最適化という点で、はるかに優れています)。


この資料のドライバのビルドとインストールの手順は Windows(R) 2000 のみに適用されます。


: このサンプルは、最小限の機能を備えたドライバの例です。このドライバとサンプル プログラムは、運用環境での使用を想定したものではありません。これらは、ドライバのスケルトンとして学習用に提供されているものです。

詳細

下記のファイルは、「Microsoft ダウンロード センター」からダウンロードできます。

リリース日 : 2000 年 4 月 6 日


マイクロソフトのサポート ファイルのダウンロード方法を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、配布ファイルのウイルス チェックを行っています。配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。
Ramdisk.exe ファイルには次のファイルが含まれています。

ファイル 説明
--------------------------
Ramdisk.c Ramdisk サンプル ドライバのソース ファイル
Pnp.c PnP IRP を処理するソース ファイル
Ramdisk.h Ramdisk 構造体を含むインクルード ファイル
Debug.h デバッグ出力を定義したインクルード ファイル
Sources コード サンプルをビルドするための一般ファイル
Makefile 標準の Windows 2000 makefile
Ramdisk.inf ドライバ インストール用ファイル
Ramdisk.htm このサンプルの説明書
Ramdisk.sys Windows 2000 ドライバ ファイル (フリー ビルド)

サンプルのビルド

[スタート] ボタンをクリックし、[Development Kits] プログラム グループの下にある [Free Build Environment] または [Checked Build Environment] アイコンをクリックし、ビルド ユーティリティで必要な基本的な環境変数を設定します。


CD C:\Drivers\Ramdisk のようにコマンドを入力して、デバイスのソース コードが存在するディレクトリに移動します。


build -ceZ を実行するか、BLD マクロを使用します。これにより、Microsoft make ルーチンが起動され、Buildxxx.log というログ ファイル、および警告やエラーがある場合には Buildxxx.wrn や Buildxxx.err などのログ ファイルが出力されます。選択したビルド環境により、xxx の部分には "fre" または "chk" が入ります。ビルドが成功すると、Sources ファイルに定義した %TargetPath% フォルダのプラットフォーム固有のサブフォルダの中にドライバ Ramdisk.sys ファイルが作成されます。

サンプルのインストール

ドライバをインストールするには、以下の手順を実行します。
  1. コントロール パネルで [ハードウェアの追加と削除] をダブルクリックして起動します。[次へ] をクリックします。
  2. [デバイスの追加/トラブルシューティング] をクリックします。[次へ] をクリックします。
  3. [新しいデバイスの追加] をクリックします。[次へ] をクリックします。
  4. [いいえ、一覧からハードウェアを選択します] をクリックします。[次へ] をクリックします。
  5. [その他のデバイス] をクリックし、[次へ] をクリックします。
  6. [ディスク使用] をクリックして、Ramdisk.inf ファイルが存在するフォルダを指定します。
  7. [次へ] を 2 回クリックし、[完了] をクリックします。
  8. [はい] をクリックし、コンピュータを再起動します。
Ramdisk.sys ファイルが %Systemroot%\System32\Drivers フォルダにコピーされ、ドライバが読み込まれます。

Ramdisk ドライブの設定

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。



レジストリを使用して、Ramdisk を構成することができます。Ramdisk.inf ファイルには、すべての構成可能なパラメータにデフォルト値が設定されています。各パラメータの概要は以下のとおりです。


BreakOnEntry REG_DWORD 0
これは、DriverEntry ルーチンでブレークポイントを生成するかどうかを示すブール値です。フリー ビルドのドライバでは無効です。
DebugLevel REG_DWORD 0
この値で、診断メッセージが出力されるレベルを指定します。値が大きいほど、詳細なメッセージが出力されます。使用できる値は 0 ~ 3 です。この設定は、フリー ビルドのドライバでは無効です。
DebugComp REG_DWORD 0xFFFFFFFF
この値で、デバッグ メッセージを出力するコンポーネントを指定します。各ビットでコンポーネントを指定します。コンポーネントの一覧については、Debug.h ファイルを参照してください。この設定は、フリー ビルドのドライバでは無効です。
DiskSize REG_DWORD 0x100000 (1,048,576 1Mb)
この値は Ramdisk ドライブのサイズ (バイト単位) です。
DriveLetter REG_SZ Z:
これは、Ramdisk ドライブに関連付けられたデフォルトのドライブ文字です。
RootDirEntries REG_DWORD 512
これは、ルート ディレクトリのエントリ数です。
SectorsPerCluster REG_DWORD 2
これは、アロケーション ユニット (クラスタ) あたりのセクタ数です。
Windows XP に関する更新

Ramdisk サンプル ドライバは、NTFS のみのコンピュータにインストールすると、使用できなくなる場合があります。この問題を解決するには、次の変更を行います。


IoCreateDevice 関数 (pnp.c ファイルの RamdiskAddDevice 関数) の呼び出しで、デバイスの種類を FILE_DEVICE_VIRTUAL_DISK から FILE_DEVICE_DISK に変更し、ドライバを再コンパイルします。ドライバのインストール後、エクスプローラから Ramdisk にアクセスするために、システムを再起動します。


警告 : Ramdisk を Windows XP にインストールすると、システムの復元機能が使用できなくなる場合があります。

関連情報

Microsoft Windows 2000 Driver Development Kit

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 257405 (最終更新日 2004-11-29) を基に作成したものです。


なお、この資料は英語版の翻訳であり、日本語環境での確認は行っておりません。
プロパティ

文書番号:257405 - 最終更新日: 2005/06/10 - リビジョン: 1

フィードバック