[ WMI ] Win32_DiskDrive.Interface の罠(救世主は MediaType)

Pocket

以下のリンクより USB で接続されたディスク情報のみを取得するようなサンプルを掲載したのですが、罠が潜んでいると悪友が教えてくれました。ここでは、その罠について掲載しています(もったいぶってみる)。

スポンサーリンク


[ InterfaceType ] USB 接続なのに SCSI だと?

最近の 外付けハードディスクなどは、USB 上で転送スピードの速い SCSI を使用したりすることもできるようになっています。転送スピードも上がりますので、素晴らしいことですが問題もあります。

なんと、Win32_DiskDrive.Interface の値までも 「USB」 から 「SCSI」 に変わってしまいます。もちろん PC の USB が対応していなければ USB のままなのですが、最近のパソコンはほとんど対応しているような気もします。

困りました。これでは USB で接続されたディスク情報のみを取得することができません。

Win32_DiskDrive.MediaType を利用する

仕方がないのでテリーマンに助けを求めようとしましたが、世の中甘くありません。そこで、何かしら手掛かりがないかと探してみたところ、MediaType が利用できそうなことがわかりました。

MediaType は次のような値が取得できます(すべてではないと思いますので、注意が必要)。

ディスクの種類MediaType の値
固定ハードディスクFixed hard disk media
外付けハードディスクExternal hard disk media
リムーバルメディアRemovable Media

例えば、USB 上で SCSI 対応の外付けHDDは、

InterfaceType : SCSI
MediaType : External hard disk media

のように取得できます。

そもそも、このようなデバイスの場合は、「InterfaceType は USB があってるんじゃないか?」と思う今日この頃です。

 

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>