不具合農場 地獄の大豊作不具合様は本日もすこやかなれば、本日も大豊作なり。 不具合様には不具合をお供えすべし。 今日もお供え物作ってますか? |
トップへ戻る ブログのトップへ戻る Word Press |
|
不具合道楽 地獄のフルコース不具合御飯 不具合味噌汁 不具合満漢全席 | ||
コンピューターのはらわた無修正大公開 | ||
不具合設計局キャンペーン中 |
2007-07-13 (Fri)
_ [日々の生活] ファイルサーバー研究
Windowsでハードディスクの電源を落とす(プラッタの回転を止める)方法を研究しておりました。調べたところ、ATA(SATA)のハードディスクには電源モードを制御するコマンドがあることが分かりました。専用のAPIとかがないのかについても調べたのですが、これは無いようでした。(Linuxだと専用のコマンドがあるようです) ハードディスクに対して直接コマンドを送信することはドライバからしかできないので、アプリケーションから行う場合はドライバを介して行います。このドライバを介したコマンド送信というのはDeviceIoControl()関数で行います。
ハードディスクにコマンド送信して仕様情報を入手するサンプルを入手できたのですが、私の環境では動きませんでした。さらに調べたところ何通りかのサンプルを入手しまして、ようやく動くものが見つかりました。SMART情報を表示するツールなんかだと動かないことが多いですが、これはこの辺の事情と関係しているようです。
ハードディスクの型番等の情報を取得することには成功したのですが、それ以外のコマンドを送ると、エラーになってしまいます。なんでエラーになるのかよく分かりません。
[ツッコミを入れる]