S.M.A.R.T. の項目名を取得します
val = smart_GetSmartAttributeName(str1, int1, str2)
str1 : SMARTキー名(smart_GetInfoStringWのINFO_SMARTKEYNAMEから取得できます) int1 : smartID str2 : S.M.A.R.T. の項目名が記述されたiniファイルパス(絶対パス)
(プラグイン / モジュール : hspsmart.dll)
S.M.A.R.T. の項目名を取得します。
#include "hspsmart.as" title "ディスクを選択してください" // 初期化する hSmart = smart_Init() // USB/IEEE1394接続のHDDを検出対象にする smart_SetUSB1394 hSmart, FLAG_USB_ALL // IDE/ATA_PASS_THROUGH を使用します(問題がある場合はOFFに) smart_SetAtaPassThroughSmart hSmart, 1 // IntelRAID環境下でCSMIを自動有効にする smart_SetCsmiType hSmart, CSMI_TYPE_ENABLE_AUTO // ディスクを検出する(CDIの再検出と同じ) // 初回起動時やディスクが後から追加・変更・削除されたりしたときに実行してください // この処理はやや重いです。再生中の音声が一瞬途切れることもあります。 smart_DiskScan hSmart, 1, 1, 0, 1, 1 if smart_GetCount(hSmart) <= 0{ dialog "ディスクがないか、エラーが発生しました" end } // ディスク一覧作成 sdim disklist, 1024 repeat smart_GetCount(hSmart) // 格納に必要なサイズを取得 size = smart_GetInfoStringSizeW(hSmart, cnt, INFO_MODEL) sdim buf, size + 2 // モデル名取得 smart_GetInfoStringW hSmart, cnt, INFO_MODEL, buf, size disklist += cnvwtos(buf) + "\n" loop // GUI width 320, 200 objsize 320, 180 listbox disk_id, 0, disklist objsize 320, 20 button "選択したディスクの情報を見る", *go stop *go cls notesel disklist noteget diskname, disk_id title diskname width 640, 480 // SMARTキー名取得 size = smart_GetInfoStringSizeW(hSmart, disk_id, INFO_SMARTKEYNAME) sdim keyname, size + 2 smart_GetInfoStringW hSmart, disk_id, INFO_SMARTKEYNAME, keyname, size keyname = cnvwtos(keyname) // SMART情報取得 smart_max = smart_GetSmartMaxAttribute() dim Id, smart_max dim StatusFlags, smart_max dim CurrentValue, smart_max dim WorstValue, smart_max dim ThresholdValue, smart_max ddim RawValue, smart_max smart_GetSmartInfoInt64Ex hSmart, disk_id, Id, StatusFlags, CurrentValue, WorstValue, ThresholdValue, RawValue sdim out_smart, 1024 out_smart = "ID\t項目名\t\t\t\t\t現在値\t最悪値\t閾値\t生の値\n" repeat smart_max if Id.cnt != 0 { out_smart += strf("%02X", Id.cnt) + "\t" smart_att = smart_GetSmartAttributeName(keyname, Id.cnt, dir_cur + "\\smart.ini") out_smart += smart_att repeat 40-strlen(smart_att) out_smart += " " loop out_smart += strf("%d", CurrentValue.cnt) + "\t" out_smart += strf("%d", WorstValue.cnt) + "\t" out_smart += strf("%d", ThresholdValue.cnt) + "\t" out_smart += strf("0x%012I64X (%I64d)", RawValue.cnt, RawValue.cnt) out_smart += "\n" } loop font "MS Gothic", 12 objmode 2, 1 mesbox out_smart, 640, 480 smart_UnInit hSmart
smart_GetSmartInfoInt64 | S.M.A.R.T. 情報を取得します(64bitを32bitずつ分割) | (hspsmart.dll) |
smart_GetSmartInfoInt64Ex | S.M.A.R.T. 情報を取得します(64bit) | (hspsmart.dll) |
smart_GetSmartMaxAttribute | S.M.A.R.T.の項目の最大数取得 | (hspsmart.dll) |
プラグイン / モジュール | hspsmart.dll |
バージョン | 1.11(CrystalDiskInfo 8.2.3) |
作成日 | 2019/08/12 |
著作者 | Copyright (C) 2008-2019 hiyohiyo (CrystalDiskInfo作者様)
Copyright (C) 2013-2019 イノビア (hspsmart.dll 作成) |
URL | https://hsp.moe/
https://crystalmark.info/ |
備考 | 本プラグインはCrystalDiskInfoのソースコードを使用しております。 |
グループ | hspsmart.dll |
対応環境 |
|
移植のヒント | 64bit版を使用する場合は、
#runtime "hsp3_64" #include "hspsmart64.as" を先頭に記述してください。 |
hs ファイル | hsphelp\hspsmart.hs |