Mam's WebSite

Mamの覚書Q&A検索


大項目:「 Delphi 」 - 中項目:「 API 」

「 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

ソース

Copyright 2019 Mam