INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2012-04-02 04:59 / 次へ→ / 最新へ⇒

■そろそろβ版へ格上げ

2012年 4月 2日(月) 4:59:27 [はてなダイアリーから転記]



RSSRSS配信中
https://www.inasoft.org/



3/31に、いじくるつくーる ver.7.73.04β/ListView to CSV ver.2.21.03β/すっきり!! デフラグ ver.4.78.04βを公開しています。

https://www.inasoft.org/

Visual Studio 2010の動きにも慣れてきたところで、各ソフトをβ版へ格上げしていこうと考えています。

先日のバージョンアップで、すっきり!! デフラグのために、HDD/SSD判別に対応したCCPU(環境情報の表示)なのですが、今回はその延長で、

光学式ドライブの種別の判別を行うようにしました。

ただ表示するだけで、何の意味も無いんですけどね。

ただの技術的興味というか、なんというか…。

やり方としては、HDD/SSD 判別の場合と同様に、CreateFile API と DeviceIoControl API にて行っています。

SSD判別の時は、デバイスに対して「IDENTIFY DEVICE」を発行しましたが、今回は「SCSI_PASS_THROUGH」を通して「GET CONFIGRATION」を発行しています。

「GET CONFIGRATION」は、デバイスが判別した「現在挿入されているメディアの種別」と、このデバイスが取扱可能なメディアの種類を列挙して教えてくれます。

(ファームウェアが応答して、メモリに転送してくれる感じでしょうかね)

上では「光学式ドライブの種別の判別」とだけ書きましたが、実際には、

  • CD-ROM/R/RW
  • DVD-ROM/-R/-RW/+R/+RW/-R DL/+R DL/-RW DL/+RW DL
  • BD-ROM/R/RE
  • HD DVD-ROM/R/RAM

が判別可能となっています。BD-ROMの判別や、BD-REの判別テストは、仮想ドライブソフト(Virtual CloneDrive)や、実家のPCにて行うことができましたが、さすがにHD DVDでの動作テストは行っていません。

ってか、HD DVDが搭載されたパソコンって、今はあるのかなぁ……。


さてさて。この方法の場合は2つの問題があるようで、

・一部のOSでは、USB接続の光学式ドライブに対する「GET CONFIGRATION」を阻害してしまう不具合がある。

 (個別にパッチを当てれば解決するが、利用者全員にパッチを当ててもらう必要がある)

・そもそも「GET CONFIGRATION」を知らない時代のファームウェアが存在する。

ということで、これらの場合は代替策として「IOCTL_STORAGE_GET_MEDIA_TYPES_EX」と送って、せめてCDかDVDかの判別だけは行うようにしています。

そのうち、サンプルプログラムを公開しようかな。


参考サイト:

 http://senbee.seesaa.net/index-25.html





目次 | ←前へ / 2012-04-02 04:59 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3130901 (+0281)[+1082]

Copyright© 2010-2024 INASOFT