トップへ(mam-mam.net/)

Delphiで、ハードディスクのS.M.A.R.T情報を取得する方法

検索:

「Delphiで、ハードディスクのS.M.A.R.T情報を取得する方法」

DelphiでハードディスクのS.M.A.R.T情報を取得する方法はありますか?

回答

DelphiでハードディスクのS.M.A.R.T情報を取得する方法はあります。
Microsoft C++のソースコードが、大昔のMSDNのSDKに少しだけ掲載されています。


概要
まずCreateFileを用いて物理ドライブのハンドルを取得します。
handle:=CreateFile(wst,GENERIC_READ or GENERIC_WRITE,
                       FILE_SHARE_READ or FILE_SHARE_WRITE,
                       nil, OPEN_EXISTING, 0, 0);

次にDeviceIoControl API(管理者権限が必要)
を用いてS.M.A.R.T情報の現在値、ワースト値等を取得します。

次にDeviceIoControl API(管理者権限が必要)
を用いてS.M.A.R.T情報の閾値を取得します。

詳細は以下URLを参照してください。

https://mam-mam.net/delphi/smart.html

ソース