smart_GetSmartInfoInt64

S.M.A.R.T. 情報を取得します(64bitを32bitずつ分割)

smart_GetSmartInfoInt64 int1, int2, var3, var4, var5, var6, var7, var8, var9

int1	: 操作ハンドル(smart_Init()を実行して取得する)
int2	: ディスク番号(0~)
var3	: S.M.A.R.T. ID を格納する配列変数(32bit整数)
var4	: ステータスフラグを格納する配列変数(32bit整数)
var5	: 現在値を格納する配列変数(32bit整数)
var6	: 最悪値を格納する配列変数(32bit整数)
var7	: しきい値を格納する配列変数(32bit整数)
var8	: 生の値(LowPart)を格納する配列変数(32bit)
var9	: 生の値(HighPart)を格納する配列変数(32bit)

(プラグイン / モジュール : hspsmart.dll)

解説

S.M.A.R.T. 情報を取得します。
64bit値は32bitずつ分割して取得されます。
64bit値を直接取得する場合は smart_GetSmartInfoInt64Ex を使用してください。
ディスク番号は0番から始まり、最大数は smart_GetCount() で取得できます。
取得したいディスク情報ID は以下のものが指定できます。

stat値
0  = 成功
-1 = 操作ハンドル無効
-2 = 引数エラー(ディスク番号が範囲外)

サンプル

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, 0, Id, StatusFlags, CurrentValue, WorstValue, ThresholdValue, RawValue
sdim out_smart, 1024
out_smart = "ID\t現在値\t最悪値\t閾値\t生の値\n"
repeat smart_max
	if Id.cnt != 0 {
		out_smart += strf("%02X", Id.cnt) + "\t"
		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
mes out_smart

関連項目

smart_GetSmartInfoInt64ExS.M.A.R.T. 情報を取得します(64bit)(hspsmart.dll)
smart_GetSmartAttributeNameS.M.A.R.T. の項目名を取得します(hspsmart.dll)

サンプル逆引き (2)

01_Sample_SMART.hsp
SampleDiskInfo.hsp

情報

プラグイン / モジュールhspsmart.dll
バージョン1.11(CrystalDiskInfo 8.2.3)
作成日2019/08/12
著作者Copyright (C) 2008-2019 hiyohiyo (CrystalDiskInfo作者様)
Copyright (C) 2013-2019 イノビア (hspsmart.dll 作成)
URLhttps://hsp.moe/
https://crystalmark.info/
備考本プラグインはCrystalDiskInfoのソースコードを使用しております。
グループhspsmart.dll
対応環境
  • Windows 版 HSP
移植のヒント64bit版を使用する場合は、
#runtime "hsp3_64"
#include "hspsmart64.as"
を先頭に記述してください。
hs ファイルhsphelp\hspsmart.hs