「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