[PR]名古屋・看護師の求人:地域密着の看護師求人を探すなら

English | Japanese Author: Ken Kato
Mail: chitchat<DOT>vdk<AT>gmail<DOT>com

仮想な背中


仮想な背中 > Virtual Floppy Drive

Virtual Floppy Drive 2.1

Windows NT / 2000 / XP 用の仮想フロッピドライブです
(2003 Server、Vista でも動くとの報告をいただいています)。
注意 !!! 32 ビット OS でのみ動作します !!!
64 ビットコンパイルに関する情報はこちら

フロッピイメージファイルを仮想フロッピドライブとしてマウントし、 直接ファイルの中身にアクセスすることができます。仮想フロッピ上のファイル表示、編集、 リネーム、削除、作成、仮想フロッピのフォーマット、仮想フロッピからのプログラム起動、 など実際のフロッピでできることは大抵できます。


バージョン 2.1紹介

最新版は 2.1.2008.206 です。

2.1.2005.404 からの変更点

デバイスドライバには一切変更はありません。

2.0 RC からの主な変更点

その他 2.x の主な特長

TOP

ダウンロード

vfd21-080206.zip

vfdsrc-080206.zip (ソースコード)

注意!前バージョンとの共存はできません。

プログラムを使用する前に readmej.txt をよく読んでください。

たとえ何も問題がなくてもコメントを送っていただけるとありがたいです。 「Windows ** SP * で動いてます」の一言だけでも助かります。

TOP

FAQ・既知の問題 (未確認情報を含みます)

TOP

予定・検討中の機能

多分やる: やるかも: その他、何か提案があれば...
TOP

一緒に使うと便利なプログラム

TOP

64 ビットコンパイル

最近二人の方からいただいた VFD を 64 ビットシステムで使用する方法についての 情報を載せておきます。ただし私自身は 64 ビットシステムに触ったこともないので、 この件に関する質問には答えることができません。

ハンドルネーム "critical0" 氏が情報と AMD64 用にコンパイルした バイナリを送ってくれました:

メールからの抜粋(訳):
ドライバは AMD64 用にちゃんとコンパイルできました。
(winddk 3790.1830 for win 2003 server x64 を使用)
必要だったのは vfdioctl.c の 120 行目を
    (PULONG)&Irp->IoStatus.Information);
に変更することだけで、これで互換性のない型に関する警告が
出なくなります。

自分でビルドしたドライバに変更してみたら完璧に動作しました。
彼が送ってくれたドライババイナリ: vfd-x64-critical0.zip

また Igor Levicki 氏が 64 ビットコンパイルのためのドライバソース修正に関して の情報を送ってくれました:

メールからの抜粋(訳):
ドライバソースを 64 ビット環境用にコンパイルするには
以下の点を修正する必要があります:

vfdimg.c:
466:
< OUT PULONG          ReturnLength)
> OUT ULONG_PTR*        ReturnLength)
vfddrv.h
< OUT PULONG          ReturnLength);
> OUT ULONG_PTR*        ReturnLength);

この修正の理由は ntddk.h の中で IoStatus.Information
フィールドが ULONG ではなく ULONG_PTR として定義されて
いることです。

ULONG の定義が unsigned long であるのに対して ULONG_PTR
は unsigned __int3264 として定義されているので、移植性の
ためには ULONG_PTR を使うべきです。

追記: critical0 と Igor のコード修正は アプローチは別ですが両方とも同じ問題に対する修正です。 Igor より、critical0 の修正中の ULONG_PTR * から PULONG への キャストは危険であるとの指摘を受けました。 私も基本的にはタイプキャストが危険であるという意見には賛成です。
ただし、今回のケースに限り、critical0 の修正も十分に安全だと判断しました。 問題のポインタが指しているアドレスは最初に 0 で初期化されており、 またそこに格納される値は決してマイナスになったり 300 を超えたりせず、 32 ビットの範囲で充分処理できるためです。

追記2: Igor によれば、タイプキャストの方法は プロセッサ・メモリバスのサイクル面でも欠点があるそうです。 そのため、自分で 64 ビットバイナリをビルドする場合は Igor の方法 をとったほうが良いようです。 ですが、もし自分でビルドすることができない場合は critical0 のバイナリ でも大きな問題は起きないと思います。現在のところ私自身がビルドした 64 ビットバイナリを配布する予定はありません。もっとも大きな理由は、私が ビルドしたものがちゃんと動くかどうかを私自身が確認することもできない ためです。 critical0 のバイナリは、少なくとも彼のところで動作しているという実績 があります。

TOP

旧バージョン(バージョン 1.01)

バイナリ:vfd.zip (78,508 バイト) 2003/04/27
ソース:vfdsrc.zip (91,767 バイト) 2003/04/27
TOP

HISTORY

2008/02/06
Version 2.1.2008.206
2005/04/04
Version 2.1
2004/10/03
Version 2.0 Release Candidate
2004/09/24
Version 2.0 beta 3
2004/09/12
Version 2.0 beta 2
2004/07/28
Version 2.0 beta preview 文字化け修正
2004/06/17
Version 2.0 beta preview
2003/04/27
vfdwin.exe 1.01 -- ユーザインタフェースのバグ修正.
2003/04/16
初版リリース


[PR]血液型生年月日で運命診断:無料お試しも本格鑑定!