============================================================================== CD-ROM SPEED CHANGER for Windows by PENTIUM 666MHz ============================================================================== <免責事項> 本ソフトはフリーソフトウェアです。 本ソフトを使用していておきた障害や事故については、本ソフトの製作者や配布先 は一切の責任を負いません。「自己責任」において使用して下さい。 本ソフトの製作者や配布先はこれに関するあらゆるサポートの義務を持ちません。 転載等の際はご連絡をお願い致します。 <使用する前に> 本プログラムは Adaptec社 の ASPI32 を利用してデバイス制御しています。 実行前に ASPI32 を導入しておいて下さい。 ASPI32 は Adaptec社 の Web より自由にダウンロードし、使用することができます。 http://www.adaptec.com/ ASPI32 は SCSI用の制御32ビットAPI群ですが、ATAPIも包括して制御できます。 したがって、ATAPI接続のCD-ROMドライブを制御することも可能です。 他社製のASPI32を利用する場合には、起動でASPI32の生成エラーダイアログを 確認した後に、Windowsディレクトリにある「WINCDS.INI」の「ASPIDLL」に 任意のASPI32ライブラリを記述して下さい。 例えば、WNASPINT.DLLを用いる場合は [COMMON] ASPIDLL=WNASPINT.DLL として再度WINCDS.EXEを起動して下さい。 少々面倒ですが、ご了承下さい。 <仕様> Adaptec社 の ASPI32 より CD-ROMドライブ情報を取得・解析し回転速度を 設定します。 LUN(Logical Unit Number)には対応していませんが、速度設定は物理モーターに 対して行われる為、LUN 0 に制御を行っています。 また、仮想CD-ROMドライブに対しても実行することができますが、意味が あるかは不明です。 サポートできるドライブ数は 64台 です。 また、ひとつのドライブに対する速度は 32種類 です。 本プログラムは Windows2000 SP3 にて動作確認を行っています。 <問題点> USBドライブをASPI32から認識する為にはASPI32用DLLのロードを USBドライブの通電後に行わないと認識できないことがわかっています。 これは各社のASPI32用DLLの動作仕様になりますが、ロード中のDLLを 開放して再ロードすると認識できることから、本プログラムでも再ロード を行っていました。 しかし、ASPI32用DLL(Adaptec製,NERO製)が再ロード後の関数コールで ハンドルリークすることを確認しています。 これは「DLL側の問題」で利用側プログラムでは回避できません。 同一プロセス内で同一DLLの再ロードはプログラム的に問題はありません。 問題はDLL側がエクスポートしている関数の「実装」が許容するかどうかです。 よって、Version 1.09までに実装していた再ロード部分を全て無効にしました。 また、NERO製のDLLには非公開APIとして「ScsiRescan()」があり、これを 利用するとホストアダプタを再スキャンできることがわかっています。 本プログラムでは、この非公開APIを利用して動的なホストアダプタ数の 変更に対応しています。 Nexi Tech製のDLLはクライアント開発にライセンスが必要であることが わかりました。 専用の登録APIも存在しており、内部では処理可能な設計にはしましたが レジスターコードが不明の為に動作しません。 また、このDLLにも「ReScanAdapter()」があり、これを利用すると ホストアダプタを再スキャン可能なように思えます。 <使用方法> あらかじめ ASPI32 を導入したコンピュータで実行するとタスクトレイに アイコンが追加されます。 このアイコンを左クリックするとポップアップメニューが表示されます。 認識できたCD-ROMドライブで速度変更可能なものがメニューに表示されます。 各ドライブのサブメニューに選択可能な速度が表示されます。 選択すると直ちに速度を変更します。 [設定の読み込み] ユーザの設定値を読み込みます。 WindowsディレクトリのWINCDS.INIが読み込まれます。 [設定の書き込み] ユーザの設定値を書き込みます。 WindowsディレクトリのWINCDS.INIに書き込まれます。 [再スキャン] 仮想CD-ROMドライブのドライブ数変更やUSB機器などでプログラム起動後 に通電した場合等は再スキャンすることで認識でることがあります。 NERO製のDLLを利用している場合は自動的にホストアダプタの再スキャンも行います。 ※デバイスが追加された場合、プログラム側で自動的に再スキャン を行っています。 [設定画面] ドライブ毎の設定や共通の設定を行います。 詳細については以下のとおりです。 [個別設定] コンボボックスに選択中のドライブが表示されます。 [転送速度] 転送速度を選択します。 [停止時間] スピンダウンする時間を選択します。 [選択を無効にする] メニュー操作に含めたく無いドライブがあれば、チェックして下さい。 [選択を非表示にする] メニューから非表示にしたいドライブがあれば、チェックして下さい。 [共通設定] 本プログラムの共通となる設定を行います。 [ASPI32ボタン] 利用するASPI32を選択します。 ※Version 1.09までは動的な変更を行っていましたが、ハンドルリークが 発生することがわかりましたのでVersion 1.10以降から次回起動時より 有効になるように仕様変更しています。 [休止状態から復帰したら再設定する] 休止状態から復帰すると、各ドライブの速度はデフォルトに戻ります。 これを設定値に変更する必要があればチェックして下さい。 [リムーバブルメディア制御を利用する] CD-ROMだけでなくMOやTAPE STREAMERなどのメディア取り出し制御を 利用する場合にチェックして下さい。 トレイアイコンを右クリックすると対応するデバイス一覧が表示されます ので、サブメニューから操作を選択して下さい。 なお、チェックが付いているデバイスは「メディアが入っている」ことを 意味します。 利用しない場合にはバルーン表示を行います。 [トレイの自動開閉を有効にする] トレイを開けてから、指定時間後に閉じる機能を利用する場合にチェック して下さい。 時間は本チェックボックスの下の時間エディットボックスで指定できます。 [メディアのロック機能を有効にする] ドライブのメディアロック機能を利用する場合にチェックして下さい。 ドライブにメディアが挿入されていない場合にはグレー表示になります。 ドライブがメディアロックをサポートしていない場合にはメニューに 表示されません。 例:OLYMPUS TURBO MO mini III [メニュー表示を左右入れ替える」 右クリックメニューと左クリックメニューの表示内容を入れ替えます。 利用者の好みに合わせて変更して下さい。 [バルーンに全てのデバイスを表示する] 起動時、休止状態からの復帰時、デバイスのスキャン時に表示されるバルーンの 表示内容に「選択を無効にする」で指定したデバイスを含める場合にチェック して下さい。 [トレイアイコンでバルーンを自動表示する] タスクトレイアイコンにマウスを持っていくとツールチップ風にバルーン表示を 行いたい場合にチェックして下さい。 バルーン表示は10秒程度(システム固定?)ですが、再度表示するまでに10秒の 待ち時間が発生します。 バルーンが表示しっぱなしになるのを防ぐ為です。 [トレイアイコンのデザイン] タスクトレイアイコンのデザインを選択します。 タスクバーや他のプログラムのトレイアイコンとの関係で視認性が悪い場合 に変更してみて下さい。 [バージョン情報ボタン] バージョン情報を表示します。 [設定ボタン] 設定内容を更新します。 WindowsディレクトリのWINCDS.INIに書き込まれます。 [中止ボタン] 設定内容を破棄します。 なにも行われません。 [バージョン情報] バージョン情報を表示します。 [プログラムの終了] プログラムを終了します。 <リムーバブルメディア制御メニューのカスタマイズ> リムーバブルメディア制御の操作メニューの文字列を変更することが できます。 WindowsディレクトリにあるWINCDS.INIのMENUセクションにある文字列 を好みに変更してプログラムを起動して下さい。 文字列の最大長は 30バイト です(NULLデリミタ分を除く)。 全角文字なら 15文字 になります。 例: [Menu] Open=OPEN Close=CLOSE Eject=EJECT OpenClose=OPEN && CLOSE Lock=LOCK Unlock=UNLOCK <連絡先> なお、下記 URL は本ソフトのサポートページではありません。 http://www.geocities.co.jp/SiliconValley/8264/index.html http://members.tripod.co.jp/voodoo/index.html mailto:pentium@intel.hot.co.jp