ホーム › System.Ioctl › NTFS_STATISTICS_EX
NTFS_STATISTICS_EX
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| LogFileFullExceptions | DWORD | 4 | +0 | +0 | ログファイルが満杯になり発生した例外の回数。 |
| OtherExceptions | DWORD | 4 | +4 | +4 | 上記以外で発生した例外の回数。 |
| MftReads | ULONGLONG | 8 | +8 | +8 | MFTの読み取り回数(64ビット)。 |
| MftReadBytes | ULONGLONG | 8 | +16 | +16 | MFT読み取りで処理されたバイト数(64ビット)。 |
| MftWrites | ULONGLONG | 8 | +24 | +24 | MFTの書き込み回数(64ビット)。 |
| MftWriteBytes | ULONGLONG | 8 | +32 | +32 | MFT書き込みで処理されたバイト数(64ビット)。 |
| MftWritesUserLevel | _MftWritesUserLevel_e__Struct | 16 | +40 | +40 | MFT書き込みの発生元レベル別内訳を保持する内部構造体。 |
| MftWritesFlushForLogFileFull | DWORD | 4 | +56 | +56 | ログファイル満杯のフラッシュに起因するMFT書き込み回数。 |
| MftWritesLazyWriter | DWORD | 4 | +60 | +60 | 遅延書き込みによるMFT書き込み回数。 |
| MftWritesUserRequest | DWORD | 4 | +64 | +64 | ユーザー要求に起因するMFT書き込み回数。 |
| Mft2Writes | ULONGLONG | 8 | +72 | +72 | MFTミラー(MFT2)の書き込み回数(64ビット)。 |
| Mft2WriteBytes | ULONGLONG | 8 | +80 | +80 | MFTミラー書き込みで処理されたバイト数(64ビット)。 |
| Mft2WritesUserLevel | _Mft2WritesUserLevel_e__Struct | 16 | +88 | +88 | MFTミラー書き込みの発生元レベル別内訳を保持する内部構造体。 |
| Mft2WritesFlushForLogFileFull | DWORD | 4 | +104 | +104 | ログファイル満杯のフラッシュに起因するMFTミラー書き込み回数。 |
| Mft2WritesLazyWriter | DWORD | 4 | +108 | +108 | 遅延書き込みによるMFTミラー書き込み回数。 |
| Mft2WritesUserRequest | DWORD | 4 | +112 | +112 | ユーザー要求に起因するMFTミラー書き込み回数。 |
| RootIndexReads | ULONGLONG | 8 | +120 | +120 | ルートインデックスの読み取り回数(64ビット)。 |
| RootIndexReadBytes | ULONGLONG | 8 | +128 | +128 | ルートインデックス読み取りで処理されたバイト数(64ビット)。 |
| RootIndexWrites | ULONGLONG | 8 | +136 | +136 | ルートインデックスの書き込み回数(64ビット)。 |
| RootIndexWriteBytes | ULONGLONG | 8 | +144 | +144 | ルートインデックス書き込みで処理されたバイト数(64ビット)。 |
| BitmapReads | ULONGLONG | 8 | +152 | +152 | ボリュームビットマップの読み取り回数(64ビット)。 |
| BitmapReadBytes | ULONGLONG | 8 | +160 | +160 | ビットマップ読み取りで処理されたバイト数(64ビット)。 |
| BitmapWrites | ULONGLONG | 8 | +168 | +168 | ボリュームビットマップの書き込み回数(64ビット)。 |
| BitmapWriteBytes | ULONGLONG | 8 | +176 | +176 | ビットマップ書き込みで処理されたバイト数(64ビット)。 |
| BitmapWritesFlushForLogFileFull | DWORD | 4 | +184 | +184 | ログファイル満杯のフラッシュに起因するビットマップ書き込み回数。 |
| BitmapWritesLazyWriter | DWORD | 4 | +188 | +188 | 遅延書き込みによるビットマップ書き込み回数。 |
| BitmapWritesUserRequest | DWORD | 4 | +192 | +192 | ユーザー要求に起因するビットマップ書き込み回数。 |
| BitmapWritesUserLevel | _BitmapWritesUserLevel_e__Struct | 16 | +196 | +196 | ビットマップ書き込みの発生元レベル別内訳を保持する内部構造体。 |
| MftBitmapReads | ULONGLONG | 8 | +216 | +216 | MFTビットマップの読み取り回数(64ビット)。 |
| MftBitmapReadBytes | ULONGLONG | 8 | +224 | +224 | MFTビットマップ読み取りで処理されたバイト数(64ビット)。 |
| MftBitmapWrites | ULONGLONG | 8 | +232 | +232 | MFTビットマップの書き込み回数(64ビット)。 |
| MftBitmapWriteBytes | ULONGLONG | 8 | +240 | +240 | MFTビットマップ書き込みで処理されたバイト数(64ビット)。 |
| MftBitmapWritesFlushForLogFileFull | DWORD | 4 | +248 | +248 | ログファイル満杯のフラッシュに起因するMFTビットマップ書き込み回数。 |
| MftBitmapWritesLazyWriter | DWORD | 4 | +252 | +252 | 遅延書き込みによるMFTビットマップ書き込み回数。 |
| MftBitmapWritesUserRequest | DWORD | 4 | +256 | +256 | ユーザー要求に起因するMFTビットマップ書き込み回数。 |
| MftBitmapWritesUserLevel | _MftBitmapWritesUserLevel_e__Struct | 16 | +260 | +260 | MFTビットマップ書き込みの発生元レベル別内訳を保持する内部構造体。 |
| UserIndexReads | ULONGLONG | 8 | +280 | +280 | ユーザーインデックスの読み取り回数(64ビット)。 |
| UserIndexReadBytes | ULONGLONG | 8 | +288 | +288 | ユーザーインデックス読み取りで処理されたバイト数(64ビット)。 |
| UserIndexWrites | ULONGLONG | 8 | +296 | +296 | ユーザーインデックスの書き込み回数(64ビット)。 |
| UserIndexWriteBytes | ULONGLONG | 8 | +304 | +304 | ユーザーインデックス書き込みで処理されたバイト数(64ビット)。 |
| LogFileReads | ULONGLONG | 8 | +312 | +312 | ログファイルの読み取り回数(64ビット)。 |
| LogFileReadBytes | ULONGLONG | 8 | +320 | +320 | ログファイル読み取りで処理されたバイト数(64ビット)。 |
| LogFileWrites | ULONGLONG | 8 | +328 | +328 | ログファイルの書き込み回数(64ビット)。 |
| LogFileWriteBytes | ULONGLONG | 8 | +336 | +336 | ログファイル書き込みで処理されたバイト数(64ビット)。 |
| Allocate | _Allocate_e__Struct | 56 | +344 | +344 | クラスタ割り当て活動の統計を保持する内部構造体。 |
| DiskResourcesExhausted | DWORD | 4 | +400 | +400 | ディスク領域が枯渇した発生回数。 |
| VolumeTrimCount | ULONGLONG | 8 | +408 | +408 | ボリューム全体に対するTRIM操作の回数。 |
| VolumeTrimTime | ULONGLONG | 8 | +416 | +416 | ボリュームTRIM操作に要した累積時間。 |
| VolumeTrimByteCount | ULONGLONG | 8 | +424 | +424 | ボリュームTRIMで処理されたバイト数。 |
| FileLevelTrimCount | ULONGLONG | 8 | +432 | +432 | ファイル単位のTRIM操作の回数。 |
| FileLevelTrimTime | ULONGLONG | 8 | +440 | +440 | ファイル単位TRIM操作に要した累積時間。 |
| FileLevelTrimByteCount | ULONGLONG | 8 | +448 | +448 | ファイル単位TRIMで処理されたバイト数。 |
| VolumeTrimSkippedCount | ULONGLONG | 8 | +456 | +456 | スキップされたボリュームTRIM操作の回数。 |
| VolumeTrimSkippedByteCount | ULONGLONG | 8 | +464 | +464 | スキップされたボリュームTRIMのバイト数。 |
| NtfsFillStatInfoFromMftRecordCalledCount | ULONGLONG | 8 | +472 | +472 | MFTレコードからの統計情報取得処理が呼ばれた回数。 |
| NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount | ULONGLONG | 8 | +480 | +480 | 属性リストの存在により統計取得を中断した回数。 |
| NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount | ULONGLONG | 8 | +488 | +488 | 非常駐の再解析ポイントにより統計取得を中断した回数。 |
構造体: _MftWritesUserLevel_e__Struct x64 16B / x86 16B
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| Write | DWORD | 4 | +0 | +0 |
| Create | DWORD | 4 | +4 | +4 |
| SetInfo | DWORD | 4 | +8 | +8 |
| Flush | DWORD | 4 | +12 | +12 |
構造体: _Mft2WritesUserLevel_e__Struct x64 16B / x86 16B
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| Write | DWORD | 4 | +0 | +0 |
| Create | DWORD | 4 | +4 | +4 |
| SetInfo | DWORD | 4 | +8 | +8 |
| Flush | DWORD | 4 | +12 | +12 |
構造体: _BitmapWritesUserLevel_e__Struct x64 16B / x86 16B
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| Write | DWORD | 4 | +0 | +0 |
| Create | DWORD | 4 | +4 | +4 |
| SetInfo | DWORD | 4 | +8 | +8 |
| Flush | DWORD | 4 | +12 | +12 |
構造体: _MftBitmapWritesUserLevel_e__Struct x64 16B / x86 16B
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| Write | DWORD | 4 | +0 | +0 |
| Create | DWORD | 4 | +4 | +4 |
| SetInfo | DWORD | 4 | +8 | +8 |
| Flush | DWORD | 4 | +12 | +12 |
構造体: _Allocate_e__Struct x64 56B / x86 56B
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| Calls | DWORD | 4 | +0 | +0 |
| RunsReturned | DWORD | 4 | +4 | +4 |
| Hints | DWORD | 4 | +8 | +8 |
| HintsHonored | DWORD | 4 | +12 | +12 |
| Cache | DWORD | 4 | +16 | +16 |
| CacheMiss | DWORD | 4 | +20 | +20 |
| Clusters | ULONGLONG | 8 | +24 | +24 |
| HintsClusters | ULONGLONG | 8 | +32 | +32 |
| CacheClusters | ULONGLONG | 8 | +40 | +40 |
| CacheMissClusters | ULONGLONG | 8 | +48 | +48 |
各言語での定義
#include <windows.h>
// NTFS_STATISTICS_EX (x64 496 / x86 496 バイト)
typedef struct NTFS_STATISTICS_EX {
DWORD LogFileFullExceptions;
DWORD OtherExceptions;
ULONGLONG MftReads;
ULONGLONG MftReadBytes;
ULONGLONG MftWrites;
ULONGLONG MftWriteBytes;
_MftWritesUserLevel_e__Struct MftWritesUserLevel;
DWORD MftWritesFlushForLogFileFull;
DWORD MftWritesLazyWriter;
DWORD MftWritesUserRequest;
ULONGLONG Mft2Writes;
ULONGLONG Mft2WriteBytes;
_Mft2WritesUserLevel_e__Struct Mft2WritesUserLevel;
DWORD Mft2WritesFlushForLogFileFull;
DWORD Mft2WritesLazyWriter;
DWORD Mft2WritesUserRequest;
ULONGLONG RootIndexReads;
ULONGLONG RootIndexReadBytes;
ULONGLONG RootIndexWrites;
ULONGLONG RootIndexWriteBytes;
ULONGLONG BitmapReads;
ULONGLONG BitmapReadBytes;
ULONGLONG BitmapWrites;
ULONGLONG BitmapWriteBytes;
DWORD BitmapWritesFlushForLogFileFull;
DWORD BitmapWritesLazyWriter;
DWORD BitmapWritesUserRequest;
_BitmapWritesUserLevel_e__Struct BitmapWritesUserLevel;
ULONGLONG MftBitmapReads;
ULONGLONG MftBitmapReadBytes;
ULONGLONG MftBitmapWrites;
ULONGLONG MftBitmapWriteBytes;
DWORD MftBitmapWritesFlushForLogFileFull;
DWORD MftBitmapWritesLazyWriter;
DWORD MftBitmapWritesUserRequest;
_MftBitmapWritesUserLevel_e__Struct MftBitmapWritesUserLevel;
ULONGLONG UserIndexReads;
ULONGLONG UserIndexReadBytes;
ULONGLONG UserIndexWrites;
ULONGLONG UserIndexWriteBytes;
ULONGLONG LogFileReads;
ULONGLONG LogFileReadBytes;
ULONGLONG LogFileWrites;
ULONGLONG LogFileWriteBytes;
_Allocate_e__Struct Allocate;
DWORD DiskResourcesExhausted;
ULONGLONG VolumeTrimCount;
ULONGLONG VolumeTrimTime;
ULONGLONG VolumeTrimByteCount;
ULONGLONG FileLevelTrimCount;
ULONGLONG FileLevelTrimTime;
ULONGLONG FileLevelTrimByteCount;
ULONGLONG VolumeTrimSkippedCount;
ULONGLONG VolumeTrimSkippedByteCount;
ULONGLONG NtfsFillStatInfoFromMftRecordCalledCount;
ULONGLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount;
ULONGLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount;
} NTFS_STATISTICS_EX;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NTFS_STATISTICS_EX
{
public uint LogFileFullExceptions;
public uint OtherExceptions;
public ulong MftReads;
public ulong MftReadBytes;
public ulong MftWrites;
public ulong MftWriteBytes;
public _MftWritesUserLevel_e__Struct MftWritesUserLevel;
public uint MftWritesFlushForLogFileFull;
public uint MftWritesLazyWriter;
public uint MftWritesUserRequest;
public ulong Mft2Writes;
public ulong Mft2WriteBytes;
public _Mft2WritesUserLevel_e__Struct Mft2WritesUserLevel;
public uint Mft2WritesFlushForLogFileFull;
public uint Mft2WritesLazyWriter;
public uint Mft2WritesUserRequest;
public ulong RootIndexReads;
public ulong RootIndexReadBytes;
public ulong RootIndexWrites;
public ulong RootIndexWriteBytes;
public ulong BitmapReads;
public ulong BitmapReadBytes;
public ulong BitmapWrites;
public ulong BitmapWriteBytes;
public uint BitmapWritesFlushForLogFileFull;
public uint BitmapWritesLazyWriter;
public uint BitmapWritesUserRequest;
public _BitmapWritesUserLevel_e__Struct BitmapWritesUserLevel;
public ulong MftBitmapReads;
public ulong MftBitmapReadBytes;
public ulong MftBitmapWrites;
public ulong MftBitmapWriteBytes;
public uint MftBitmapWritesFlushForLogFileFull;
public uint MftBitmapWritesLazyWriter;
public uint MftBitmapWritesUserRequest;
public _MftBitmapWritesUserLevel_e__Struct MftBitmapWritesUserLevel;
public ulong UserIndexReads;
public ulong UserIndexReadBytes;
public ulong UserIndexWrites;
public ulong UserIndexWriteBytes;
public ulong LogFileReads;
public ulong LogFileReadBytes;
public ulong LogFileWrites;
public ulong LogFileWriteBytes;
public _Allocate_e__Struct Allocate;
public uint DiskResourcesExhausted;
public ulong VolumeTrimCount;
public ulong VolumeTrimTime;
public ulong VolumeTrimByteCount;
public ulong FileLevelTrimCount;
public ulong FileLevelTrimTime;
public ulong FileLevelTrimByteCount;
public ulong VolumeTrimSkippedCount;
public ulong VolumeTrimSkippedByteCount;
public ulong NtfsFillStatInfoFromMftRecordCalledCount;
public ulong NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount;
public ulong NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NTFS_STATISTICS_EX
Public LogFileFullExceptions As UInteger
Public OtherExceptions As UInteger
Public MftReads As ULong
Public MftReadBytes As ULong
Public MftWrites As ULong
Public MftWriteBytes As ULong
Public MftWritesUserLevel As _MftWritesUserLevel_e__Struct
Public MftWritesFlushForLogFileFull As UInteger
Public MftWritesLazyWriter As UInteger
Public MftWritesUserRequest As UInteger
Public Mft2Writes As ULong
Public Mft2WriteBytes As ULong
Public Mft2WritesUserLevel As _Mft2WritesUserLevel_e__Struct
Public Mft2WritesFlushForLogFileFull As UInteger
Public Mft2WritesLazyWriter As UInteger
Public Mft2WritesUserRequest As UInteger
Public RootIndexReads As ULong
Public RootIndexReadBytes As ULong
Public RootIndexWrites As ULong
Public RootIndexWriteBytes As ULong
Public BitmapReads As ULong
Public BitmapReadBytes As ULong
Public BitmapWrites As ULong
Public BitmapWriteBytes As ULong
Public BitmapWritesFlushForLogFileFull As UInteger
Public BitmapWritesLazyWriter As UInteger
Public BitmapWritesUserRequest As UInteger
Public BitmapWritesUserLevel As _BitmapWritesUserLevel_e__Struct
Public MftBitmapReads As ULong
Public MftBitmapReadBytes As ULong
Public MftBitmapWrites As ULong
Public MftBitmapWriteBytes As ULong
Public MftBitmapWritesFlushForLogFileFull As UInteger
Public MftBitmapWritesLazyWriter As UInteger
Public MftBitmapWritesUserRequest As UInteger
Public MftBitmapWritesUserLevel As _MftBitmapWritesUserLevel_e__Struct
Public UserIndexReads As ULong
Public UserIndexReadBytes As ULong
Public UserIndexWrites As ULong
Public UserIndexWriteBytes As ULong
Public LogFileReads As ULong
Public LogFileReadBytes As ULong
Public LogFileWrites As ULong
Public LogFileWriteBytes As ULong
Public Allocate As _Allocate_e__Struct
Public DiskResourcesExhausted As UInteger
Public VolumeTrimCount As ULong
Public VolumeTrimTime As ULong
Public VolumeTrimByteCount As ULong
Public FileLevelTrimCount As ULong
Public FileLevelTrimTime As ULong
Public FileLevelTrimByteCount As ULong
Public VolumeTrimSkippedCount As ULong
Public VolumeTrimSkippedByteCount As ULong
Public NtfsFillStatInfoFromMftRecordCalledCount As ULong
Public NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount As ULong
Public NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount As ULong
End Structureimport ctypes
from ctypes import wintypes
class NTFS_STATISTICS_EX(ctypes.Structure):
_fields_ = [
("LogFileFullExceptions", wintypes.DWORD),
("OtherExceptions", wintypes.DWORD),
("MftReads", ctypes.c_ulonglong),
("MftReadBytes", ctypes.c_ulonglong),
("MftWrites", ctypes.c_ulonglong),
("MftWriteBytes", ctypes.c_ulonglong),
("MftWritesUserLevel", _MftWritesUserLevel_e__Struct),
("MftWritesFlushForLogFileFull", wintypes.DWORD),
("MftWritesLazyWriter", wintypes.DWORD),
("MftWritesUserRequest", wintypes.DWORD),
("Mft2Writes", ctypes.c_ulonglong),
("Mft2WriteBytes", ctypes.c_ulonglong),
("Mft2WritesUserLevel", _Mft2WritesUserLevel_e__Struct),
("Mft2WritesFlushForLogFileFull", wintypes.DWORD),
("Mft2WritesLazyWriter", wintypes.DWORD),
("Mft2WritesUserRequest", wintypes.DWORD),
("RootIndexReads", ctypes.c_ulonglong),
("RootIndexReadBytes", ctypes.c_ulonglong),
("RootIndexWrites", ctypes.c_ulonglong),
("RootIndexWriteBytes", ctypes.c_ulonglong),
("BitmapReads", ctypes.c_ulonglong),
("BitmapReadBytes", ctypes.c_ulonglong),
("BitmapWrites", ctypes.c_ulonglong),
("BitmapWriteBytes", ctypes.c_ulonglong),
("BitmapWritesFlushForLogFileFull", wintypes.DWORD),
("BitmapWritesLazyWriter", wintypes.DWORD),
("BitmapWritesUserRequest", wintypes.DWORD),
("BitmapWritesUserLevel", _BitmapWritesUserLevel_e__Struct),
("MftBitmapReads", ctypes.c_ulonglong),
("MftBitmapReadBytes", ctypes.c_ulonglong),
("MftBitmapWrites", ctypes.c_ulonglong),
("MftBitmapWriteBytes", ctypes.c_ulonglong),
("MftBitmapWritesFlushForLogFileFull", wintypes.DWORD),
("MftBitmapWritesLazyWriter", wintypes.DWORD),
("MftBitmapWritesUserRequest", wintypes.DWORD),
("MftBitmapWritesUserLevel", _MftBitmapWritesUserLevel_e__Struct),
("UserIndexReads", ctypes.c_ulonglong),
("UserIndexReadBytes", ctypes.c_ulonglong),
("UserIndexWrites", ctypes.c_ulonglong),
("UserIndexWriteBytes", ctypes.c_ulonglong),
("LogFileReads", ctypes.c_ulonglong),
("LogFileReadBytes", ctypes.c_ulonglong),
("LogFileWrites", ctypes.c_ulonglong),
("LogFileWriteBytes", ctypes.c_ulonglong),
("Allocate", _Allocate_e__Struct),
("DiskResourcesExhausted", wintypes.DWORD),
("VolumeTrimCount", ctypes.c_ulonglong),
("VolumeTrimTime", ctypes.c_ulonglong),
("VolumeTrimByteCount", ctypes.c_ulonglong),
("FileLevelTrimCount", ctypes.c_ulonglong),
("FileLevelTrimTime", ctypes.c_ulonglong),
("FileLevelTrimByteCount", ctypes.c_ulonglong),
("VolumeTrimSkippedCount", ctypes.c_ulonglong),
("VolumeTrimSkippedByteCount", ctypes.c_ulonglong),
("NtfsFillStatInfoFromMftRecordCalledCount", ctypes.c_ulonglong),
("NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount", ctypes.c_ulonglong),
("NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount", ctypes.c_ulonglong),
]#[repr(C)]
pub struct NTFS_STATISTICS_EX {
pub LogFileFullExceptions: u32,
pub OtherExceptions: u32,
pub MftReads: u64,
pub MftReadBytes: u64,
pub MftWrites: u64,
pub MftWriteBytes: u64,
pub MftWritesUserLevel: _MftWritesUserLevel_e__Struct,
pub MftWritesFlushForLogFileFull: u32,
pub MftWritesLazyWriter: u32,
pub MftWritesUserRequest: u32,
pub Mft2Writes: u64,
pub Mft2WriteBytes: u64,
pub Mft2WritesUserLevel: _Mft2WritesUserLevel_e__Struct,
pub Mft2WritesFlushForLogFileFull: u32,
pub Mft2WritesLazyWriter: u32,
pub Mft2WritesUserRequest: u32,
pub RootIndexReads: u64,
pub RootIndexReadBytes: u64,
pub RootIndexWrites: u64,
pub RootIndexWriteBytes: u64,
pub BitmapReads: u64,
pub BitmapReadBytes: u64,
pub BitmapWrites: u64,
pub BitmapWriteBytes: u64,
pub BitmapWritesFlushForLogFileFull: u32,
pub BitmapWritesLazyWriter: u32,
pub BitmapWritesUserRequest: u32,
pub BitmapWritesUserLevel: _BitmapWritesUserLevel_e__Struct,
pub MftBitmapReads: u64,
pub MftBitmapReadBytes: u64,
pub MftBitmapWrites: u64,
pub MftBitmapWriteBytes: u64,
pub MftBitmapWritesFlushForLogFileFull: u32,
pub MftBitmapWritesLazyWriter: u32,
pub MftBitmapWritesUserRequest: u32,
pub MftBitmapWritesUserLevel: _MftBitmapWritesUserLevel_e__Struct,
pub UserIndexReads: u64,
pub UserIndexReadBytes: u64,
pub UserIndexWrites: u64,
pub UserIndexWriteBytes: u64,
pub LogFileReads: u64,
pub LogFileReadBytes: u64,
pub LogFileWrites: u64,
pub LogFileWriteBytes: u64,
pub Allocate: _Allocate_e__Struct,
pub DiskResourcesExhausted: u32,
pub VolumeTrimCount: u64,
pub VolumeTrimTime: u64,
pub VolumeTrimByteCount: u64,
pub FileLevelTrimCount: u64,
pub FileLevelTrimTime: u64,
pub FileLevelTrimByteCount: u64,
pub VolumeTrimSkippedCount: u64,
pub VolumeTrimSkippedByteCount: u64,
pub NtfsFillStatInfoFromMftRecordCalledCount: u64,
pub NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: u64,
pub NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: u64,
}import "golang.org/x/sys/windows"
type NTFS_STATISTICS_EX struct {
LogFileFullExceptions uint32
OtherExceptions uint32
MftReads uint64
MftReadBytes uint64
MftWrites uint64
MftWriteBytes uint64
MftWritesUserLevel _MftWritesUserLevel_e__Struct
MftWritesFlushForLogFileFull uint32
MftWritesLazyWriter uint32
MftWritesUserRequest uint32
Mft2Writes uint64
Mft2WriteBytes uint64
Mft2WritesUserLevel _Mft2WritesUserLevel_e__Struct
Mft2WritesFlushForLogFileFull uint32
Mft2WritesLazyWriter uint32
Mft2WritesUserRequest uint32
RootIndexReads uint64
RootIndexReadBytes uint64
RootIndexWrites uint64
RootIndexWriteBytes uint64
BitmapReads uint64
BitmapReadBytes uint64
BitmapWrites uint64
BitmapWriteBytes uint64
BitmapWritesFlushForLogFileFull uint32
BitmapWritesLazyWriter uint32
BitmapWritesUserRequest uint32
BitmapWritesUserLevel _BitmapWritesUserLevel_e__Struct
MftBitmapReads uint64
MftBitmapReadBytes uint64
MftBitmapWrites uint64
MftBitmapWriteBytes uint64
MftBitmapWritesFlushForLogFileFull uint32
MftBitmapWritesLazyWriter uint32
MftBitmapWritesUserRequest uint32
MftBitmapWritesUserLevel _MftBitmapWritesUserLevel_e__Struct
UserIndexReads uint64
UserIndexReadBytes uint64
UserIndexWrites uint64
UserIndexWriteBytes uint64
LogFileReads uint64
LogFileReadBytes uint64
LogFileWrites uint64
LogFileWriteBytes uint64
Allocate _Allocate_e__Struct
DiskResourcesExhausted uint32
VolumeTrimCount uint64
VolumeTrimTime uint64
VolumeTrimByteCount uint64
FileLevelTrimCount uint64
FileLevelTrimTime uint64
FileLevelTrimByteCount uint64
VolumeTrimSkippedCount uint64
VolumeTrimSkippedByteCount uint64
NtfsFillStatInfoFromMftRecordCalledCount uint64
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount uint64
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount uint64
}type
NTFS_STATISTICS_EX = record
LogFileFullExceptions: DWORD;
OtherExceptions: DWORD;
MftReads: UInt64;
MftReadBytes: UInt64;
MftWrites: UInt64;
MftWriteBytes: UInt64;
MftWritesUserLevel: _MftWritesUserLevel_e__Struct;
MftWritesFlushForLogFileFull: DWORD;
MftWritesLazyWriter: DWORD;
MftWritesUserRequest: DWORD;
Mft2Writes: UInt64;
Mft2WriteBytes: UInt64;
Mft2WritesUserLevel: _Mft2WritesUserLevel_e__Struct;
Mft2WritesFlushForLogFileFull: DWORD;
Mft2WritesLazyWriter: DWORD;
Mft2WritesUserRequest: DWORD;
RootIndexReads: UInt64;
RootIndexReadBytes: UInt64;
RootIndexWrites: UInt64;
RootIndexWriteBytes: UInt64;
BitmapReads: UInt64;
BitmapReadBytes: UInt64;
BitmapWrites: UInt64;
BitmapWriteBytes: UInt64;
BitmapWritesFlushForLogFileFull: DWORD;
BitmapWritesLazyWriter: DWORD;
BitmapWritesUserRequest: DWORD;
BitmapWritesUserLevel: _BitmapWritesUserLevel_e__Struct;
MftBitmapReads: UInt64;
MftBitmapReadBytes: UInt64;
MftBitmapWrites: UInt64;
MftBitmapWriteBytes: UInt64;
MftBitmapWritesFlushForLogFileFull: DWORD;
MftBitmapWritesLazyWriter: DWORD;
MftBitmapWritesUserRequest: DWORD;
MftBitmapWritesUserLevel: _MftBitmapWritesUserLevel_e__Struct;
UserIndexReads: UInt64;
UserIndexReadBytes: UInt64;
UserIndexWrites: UInt64;
UserIndexWriteBytes: UInt64;
LogFileReads: UInt64;
LogFileReadBytes: UInt64;
LogFileWrites: UInt64;
LogFileWriteBytes: UInt64;
Allocate: _Allocate_e__Struct;
DiskResourcesExhausted: DWORD;
VolumeTrimCount: UInt64;
VolumeTrimTime: UInt64;
VolumeTrimByteCount: UInt64;
FileLevelTrimCount: UInt64;
FileLevelTrimTime: UInt64;
FileLevelTrimByteCount: UInt64;
VolumeTrimSkippedCount: UInt64;
VolumeTrimSkippedByteCount: UInt64;
NtfsFillStatInfoFromMftRecordCalledCount: UInt64;
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: UInt64;
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: UInt64;
end;const NTFS_STATISTICS_EX = extern struct {
LogFileFullExceptions: u32,
OtherExceptions: u32,
MftReads: u64,
MftReadBytes: u64,
MftWrites: u64,
MftWriteBytes: u64,
MftWritesUserLevel: _MftWritesUserLevel_e__Struct,
MftWritesFlushForLogFileFull: u32,
MftWritesLazyWriter: u32,
MftWritesUserRequest: u32,
Mft2Writes: u64,
Mft2WriteBytes: u64,
Mft2WritesUserLevel: _Mft2WritesUserLevel_e__Struct,
Mft2WritesFlushForLogFileFull: u32,
Mft2WritesLazyWriter: u32,
Mft2WritesUserRequest: u32,
RootIndexReads: u64,
RootIndexReadBytes: u64,
RootIndexWrites: u64,
RootIndexWriteBytes: u64,
BitmapReads: u64,
BitmapReadBytes: u64,
BitmapWrites: u64,
BitmapWriteBytes: u64,
BitmapWritesFlushForLogFileFull: u32,
BitmapWritesLazyWriter: u32,
BitmapWritesUserRequest: u32,
BitmapWritesUserLevel: _BitmapWritesUserLevel_e__Struct,
MftBitmapReads: u64,
MftBitmapReadBytes: u64,
MftBitmapWrites: u64,
MftBitmapWriteBytes: u64,
MftBitmapWritesFlushForLogFileFull: u32,
MftBitmapWritesLazyWriter: u32,
MftBitmapWritesUserRequest: u32,
MftBitmapWritesUserLevel: _MftBitmapWritesUserLevel_e__Struct,
UserIndexReads: u64,
UserIndexReadBytes: u64,
UserIndexWrites: u64,
UserIndexWriteBytes: u64,
LogFileReads: u64,
LogFileReadBytes: u64,
LogFileWrites: u64,
LogFileWriteBytes: u64,
Allocate: _Allocate_e__Struct,
DiskResourcesExhausted: u32,
VolumeTrimCount: u64,
VolumeTrimTime: u64,
VolumeTrimByteCount: u64,
FileLevelTrimCount: u64,
FileLevelTrimTime: u64,
FileLevelTrimByteCount: u64,
VolumeTrimSkippedCount: u64,
VolumeTrimSkippedByteCount: u64,
NtfsFillStatInfoFromMftRecordCalledCount: u64,
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: u64,
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: u64,
};type
NTFS_STATISTICS_EX {.bycopy.} = object
LogFileFullExceptions: uint32
OtherExceptions: uint32
MftReads: uint64
MftReadBytes: uint64
MftWrites: uint64
MftWriteBytes: uint64
MftWritesUserLevel: _MftWritesUserLevel_e__Struct
MftWritesFlushForLogFileFull: uint32
MftWritesLazyWriter: uint32
MftWritesUserRequest: uint32
Mft2Writes: uint64
Mft2WriteBytes: uint64
Mft2WritesUserLevel: _Mft2WritesUserLevel_e__Struct
Mft2WritesFlushForLogFileFull: uint32
Mft2WritesLazyWriter: uint32
Mft2WritesUserRequest: uint32
RootIndexReads: uint64
RootIndexReadBytes: uint64
RootIndexWrites: uint64
RootIndexWriteBytes: uint64
BitmapReads: uint64
BitmapReadBytes: uint64
BitmapWrites: uint64
BitmapWriteBytes: uint64
BitmapWritesFlushForLogFileFull: uint32
BitmapWritesLazyWriter: uint32
BitmapWritesUserRequest: uint32
BitmapWritesUserLevel: _BitmapWritesUserLevel_e__Struct
MftBitmapReads: uint64
MftBitmapReadBytes: uint64
MftBitmapWrites: uint64
MftBitmapWriteBytes: uint64
MftBitmapWritesFlushForLogFileFull: uint32
MftBitmapWritesLazyWriter: uint32
MftBitmapWritesUserRequest: uint32
MftBitmapWritesUserLevel: _MftBitmapWritesUserLevel_e__Struct
UserIndexReads: uint64
UserIndexReadBytes: uint64
UserIndexWrites: uint64
UserIndexWriteBytes: uint64
LogFileReads: uint64
LogFileReadBytes: uint64
LogFileWrites: uint64
LogFileWriteBytes: uint64
Allocate: _Allocate_e__Struct
DiskResourcesExhausted: uint32
VolumeTrimCount: uint64
VolumeTrimTime: uint64
VolumeTrimByteCount: uint64
FileLevelTrimCount: uint64
FileLevelTrimTime: uint64
FileLevelTrimByteCount: uint64
VolumeTrimSkippedCount: uint64
VolumeTrimSkippedByteCount: uint64
NtfsFillStatInfoFromMftRecordCalledCount: uint64
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: uint64
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: uint64struct NTFS_STATISTICS_EX
{
uint LogFileFullExceptions;
uint OtherExceptions;
ulong MftReads;
ulong MftReadBytes;
ulong MftWrites;
ulong MftWriteBytes;
_MftWritesUserLevel_e__Struct MftWritesUserLevel;
uint MftWritesFlushForLogFileFull;
uint MftWritesLazyWriter;
uint MftWritesUserRequest;
ulong Mft2Writes;
ulong Mft2WriteBytes;
_Mft2WritesUserLevel_e__Struct Mft2WritesUserLevel;
uint Mft2WritesFlushForLogFileFull;
uint Mft2WritesLazyWriter;
uint Mft2WritesUserRequest;
ulong RootIndexReads;
ulong RootIndexReadBytes;
ulong RootIndexWrites;
ulong RootIndexWriteBytes;
ulong BitmapReads;
ulong BitmapReadBytes;
ulong BitmapWrites;
ulong BitmapWriteBytes;
uint BitmapWritesFlushForLogFileFull;
uint BitmapWritesLazyWriter;
uint BitmapWritesUserRequest;
_BitmapWritesUserLevel_e__Struct BitmapWritesUserLevel;
ulong MftBitmapReads;
ulong MftBitmapReadBytes;
ulong MftBitmapWrites;
ulong MftBitmapWriteBytes;
uint MftBitmapWritesFlushForLogFileFull;
uint MftBitmapWritesLazyWriter;
uint MftBitmapWritesUserRequest;
_MftBitmapWritesUserLevel_e__Struct MftBitmapWritesUserLevel;
ulong UserIndexReads;
ulong UserIndexReadBytes;
ulong UserIndexWrites;
ulong UserIndexWriteBytes;
ulong LogFileReads;
ulong LogFileReadBytes;
ulong LogFileWrites;
ulong LogFileWriteBytes;
_Allocate_e__Struct Allocate;
uint DiskResourcesExhausted;
ulong VolumeTrimCount;
ulong VolumeTrimTime;
ulong VolumeTrimByteCount;
ulong FileLevelTrimCount;
ulong FileLevelTrimTime;
ulong FileLevelTrimByteCount;
ulong VolumeTrimSkippedCount;
ulong VolumeTrimSkippedByteCount;
ulong NtfsFillStatInfoFromMftRecordCalledCount;
ulong NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount;
ulong NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; NTFS_STATISTICS_EX サイズ: 496 バイト(x64)
dim st, 124 ; 4byte整数×124(構造体サイズ 496 / 4 切り上げ)
; LogFileFullExceptions : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; OtherExceptions : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; MftReads : ULONGLONG (+8, 8byte) qpoke st,8,値 / qpeek(st,8) ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; MftReadBytes : ULONGLONG (+16, 8byte) qpoke st,16,値 / qpeek(st,16) ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; MftWrites : ULONGLONG (+24, 8byte) qpoke st,24,値 / qpeek(st,24) ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; MftWriteBytes : ULONGLONG (+32, 8byte) qpoke st,32,値 / qpeek(st,32) ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; MftWritesUserLevel : _MftWritesUserLevel_e__Struct (+40, 16byte) varptr(st)+40 を基点に操作(16byte:入れ子/配列)
; MftWritesFlushForLogFileFull : DWORD (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; MftWritesLazyWriter : DWORD (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; MftWritesUserRequest : DWORD (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; Mft2Writes : ULONGLONG (+72, 8byte) qpoke st,72,値 / qpeek(st,72) ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; Mft2WriteBytes : ULONGLONG (+80, 8byte) qpoke st,80,値 / qpeek(st,80) ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; Mft2WritesUserLevel : _Mft2WritesUserLevel_e__Struct (+88, 16byte) varptr(st)+88 を基点に操作(16byte:入れ子/配列)
; Mft2WritesFlushForLogFileFull : DWORD (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; Mft2WritesLazyWriter : DWORD (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; Mft2WritesUserRequest : DWORD (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; RootIndexReads : ULONGLONG (+120, 8byte) qpoke st,120,値 / qpeek(st,120) ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; RootIndexReadBytes : ULONGLONG (+128, 8byte) qpoke st,128,値 / qpeek(st,128) ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; RootIndexWrites : ULONGLONG (+136, 8byte) qpoke st,136,値 / qpeek(st,136) ※IronHSPのみ。3.7/3.8は lpoke st,136,下位 : lpoke st,140,上位
; RootIndexWriteBytes : ULONGLONG (+144, 8byte) qpoke st,144,値 / qpeek(st,144) ※IronHSPのみ。3.7/3.8は lpoke st,144,下位 : lpoke st,148,上位
; BitmapReads : ULONGLONG (+152, 8byte) qpoke st,152,値 / qpeek(st,152) ※IronHSPのみ。3.7/3.8は lpoke st,152,下位 : lpoke st,156,上位
; BitmapReadBytes : ULONGLONG (+160, 8byte) qpoke st,160,値 / qpeek(st,160) ※IronHSPのみ。3.7/3.8は lpoke st,160,下位 : lpoke st,164,上位
; BitmapWrites : ULONGLONG (+168, 8byte) qpoke st,168,値 / qpeek(st,168) ※IronHSPのみ。3.7/3.8は lpoke st,168,下位 : lpoke st,172,上位
; BitmapWriteBytes : ULONGLONG (+176, 8byte) qpoke st,176,値 / qpeek(st,176) ※IronHSPのみ。3.7/3.8は lpoke st,176,下位 : lpoke st,180,上位
; BitmapWritesFlushForLogFileFull : DWORD (+184, 4byte) st.46 = 値 / 値 = st.46 (lpoke/lpeek も可)
; BitmapWritesLazyWriter : DWORD (+188, 4byte) st.47 = 値 / 値 = st.47 (lpoke/lpeek も可)
; BitmapWritesUserRequest : DWORD (+192, 4byte) st.48 = 値 / 値 = st.48 (lpoke/lpeek も可)
; BitmapWritesUserLevel : _BitmapWritesUserLevel_e__Struct (+196, 16byte) varptr(st)+196 を基点に操作(16byte:入れ子/配列)
; MftBitmapReads : ULONGLONG (+216, 8byte) qpoke st,216,値 / qpeek(st,216) ※IronHSPのみ。3.7/3.8は lpoke st,216,下位 : lpoke st,220,上位
; MftBitmapReadBytes : ULONGLONG (+224, 8byte) qpoke st,224,値 / qpeek(st,224) ※IronHSPのみ。3.7/3.8は lpoke st,224,下位 : lpoke st,228,上位
; MftBitmapWrites : ULONGLONG (+232, 8byte) qpoke st,232,値 / qpeek(st,232) ※IronHSPのみ。3.7/3.8は lpoke st,232,下位 : lpoke st,236,上位
; MftBitmapWriteBytes : ULONGLONG (+240, 8byte) qpoke st,240,値 / qpeek(st,240) ※IronHSPのみ。3.7/3.8は lpoke st,240,下位 : lpoke st,244,上位
; MftBitmapWritesFlushForLogFileFull : DWORD (+248, 4byte) st.62 = 値 / 値 = st.62 (lpoke/lpeek も可)
; MftBitmapWritesLazyWriter : DWORD (+252, 4byte) st.63 = 値 / 値 = st.63 (lpoke/lpeek も可)
; MftBitmapWritesUserRequest : DWORD (+256, 4byte) st.64 = 値 / 値 = st.64 (lpoke/lpeek も可)
; MftBitmapWritesUserLevel : _MftBitmapWritesUserLevel_e__Struct (+260, 16byte) varptr(st)+260 を基点に操作(16byte:入れ子/配列)
; UserIndexReads : ULONGLONG (+280, 8byte) qpoke st,280,値 / qpeek(st,280) ※IronHSPのみ。3.7/3.8は lpoke st,280,下位 : lpoke st,284,上位
; UserIndexReadBytes : ULONGLONG (+288, 8byte) qpoke st,288,値 / qpeek(st,288) ※IronHSPのみ。3.7/3.8は lpoke st,288,下位 : lpoke st,292,上位
; UserIndexWrites : ULONGLONG (+296, 8byte) qpoke st,296,値 / qpeek(st,296) ※IronHSPのみ。3.7/3.8は lpoke st,296,下位 : lpoke st,300,上位
; UserIndexWriteBytes : ULONGLONG (+304, 8byte) qpoke st,304,値 / qpeek(st,304) ※IronHSPのみ。3.7/3.8は lpoke st,304,下位 : lpoke st,308,上位
; LogFileReads : ULONGLONG (+312, 8byte) qpoke st,312,値 / qpeek(st,312) ※IronHSPのみ。3.7/3.8は lpoke st,312,下位 : lpoke st,316,上位
; LogFileReadBytes : ULONGLONG (+320, 8byte) qpoke st,320,値 / qpeek(st,320) ※IronHSPのみ。3.7/3.8は lpoke st,320,下位 : lpoke st,324,上位
; LogFileWrites : ULONGLONG (+328, 8byte) qpoke st,328,値 / qpeek(st,328) ※IronHSPのみ。3.7/3.8は lpoke st,328,下位 : lpoke st,332,上位
; LogFileWriteBytes : ULONGLONG (+336, 8byte) qpoke st,336,値 / qpeek(st,336) ※IronHSPのみ。3.7/3.8は lpoke st,336,下位 : lpoke st,340,上位
; Allocate : _Allocate_e__Struct (+344, 56byte) varptr(st)+344 を基点に操作(56byte:入れ子/配列)
; DiskResourcesExhausted : DWORD (+400, 4byte) st.100 = 値 / 値 = st.100 (lpoke/lpeek も可)
; VolumeTrimCount : ULONGLONG (+408, 8byte) qpoke st,408,値 / qpeek(st,408) ※IronHSPのみ。3.7/3.8は lpoke st,408,下位 : lpoke st,412,上位
; VolumeTrimTime : ULONGLONG (+416, 8byte) qpoke st,416,値 / qpeek(st,416) ※IronHSPのみ。3.7/3.8は lpoke st,416,下位 : lpoke st,420,上位
; VolumeTrimByteCount : ULONGLONG (+424, 8byte) qpoke st,424,値 / qpeek(st,424) ※IronHSPのみ。3.7/3.8は lpoke st,424,下位 : lpoke st,428,上位
; FileLevelTrimCount : ULONGLONG (+432, 8byte) qpoke st,432,値 / qpeek(st,432) ※IronHSPのみ。3.7/3.8は lpoke st,432,下位 : lpoke st,436,上位
; FileLevelTrimTime : ULONGLONG (+440, 8byte) qpoke st,440,値 / qpeek(st,440) ※IronHSPのみ。3.7/3.8は lpoke st,440,下位 : lpoke st,444,上位
; FileLevelTrimByteCount : ULONGLONG (+448, 8byte) qpoke st,448,値 / qpeek(st,448) ※IronHSPのみ。3.7/3.8は lpoke st,448,下位 : lpoke st,452,上位
; VolumeTrimSkippedCount : ULONGLONG (+456, 8byte) qpoke st,456,値 / qpeek(st,456) ※IronHSPのみ。3.7/3.8は lpoke st,456,下位 : lpoke st,460,上位
; VolumeTrimSkippedByteCount : ULONGLONG (+464, 8byte) qpoke st,464,値 / qpeek(st,464) ※IronHSPのみ。3.7/3.8は lpoke st,464,下位 : lpoke st,468,上位
; NtfsFillStatInfoFromMftRecordCalledCount : ULONGLONG (+472, 8byte) qpoke st,472,値 / qpeek(st,472) ※IronHSPのみ。3.7/3.8は lpoke st,472,下位 : lpoke st,476,上位
; NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount : ULONGLONG (+480, 8byte) qpoke st,480,値 / qpeek(st,480) ※IronHSPのみ。3.7/3.8は lpoke st,480,下位 : lpoke st,484,上位
; NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount : ULONGLONG (+488, 8byte) qpoke st,488,値 / qpeek(st,488) ※IronHSPのみ。3.7/3.8は lpoke st,488,下位 : lpoke st,492,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global NTFS_STATISTICS_EX
#field int LogFileFullExceptions
#field int OtherExceptions
#field int64 MftReads
#field int64 MftReadBytes
#field int64 MftWrites
#field int64 MftWriteBytes
#field _MftWritesUserLevel_e__Struct MftWritesUserLevel
#field int MftWritesFlushForLogFileFull
#field int MftWritesLazyWriter
#field int MftWritesUserRequest
#field int64 Mft2Writes
#field int64 Mft2WriteBytes
#field _Mft2WritesUserLevel_e__Struct Mft2WritesUserLevel
#field int Mft2WritesFlushForLogFileFull
#field int Mft2WritesLazyWriter
#field int Mft2WritesUserRequest
#field int64 RootIndexReads
#field int64 RootIndexReadBytes
#field int64 RootIndexWrites
#field int64 RootIndexWriteBytes
#field int64 BitmapReads
#field int64 BitmapReadBytes
#field int64 BitmapWrites
#field int64 BitmapWriteBytes
#field int BitmapWritesFlushForLogFileFull
#field int BitmapWritesLazyWriter
#field int BitmapWritesUserRequest
#field _BitmapWritesUserLevel_e__Struct BitmapWritesUserLevel
#field int64 MftBitmapReads
#field int64 MftBitmapReadBytes
#field int64 MftBitmapWrites
#field int64 MftBitmapWriteBytes
#field int MftBitmapWritesFlushForLogFileFull
#field int MftBitmapWritesLazyWriter
#field int MftBitmapWritesUserRequest
#field _MftBitmapWritesUserLevel_e__Struct MftBitmapWritesUserLevel
#field int64 UserIndexReads
#field int64 UserIndexReadBytes
#field int64 UserIndexWrites
#field int64 UserIndexWriteBytes
#field int64 LogFileReads
#field int64 LogFileReadBytes
#field int64 LogFileWrites
#field int64 LogFileWriteBytes
#field _Allocate_e__Struct Allocate
#field int DiskResourcesExhausted
#field int64 VolumeTrimCount
#field int64 VolumeTrimTime
#field int64 VolumeTrimByteCount
#field int64 FileLevelTrimCount
#field int64 FileLevelTrimTime
#field int64 FileLevelTrimByteCount
#field int64 VolumeTrimSkippedCount
#field int64 VolumeTrimSkippedByteCount
#field int64 NtfsFillStatInfoFromMftRecordCalledCount
#field int64 NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount
#field int64 NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount
#endstruct
stdim st, NTFS_STATISTICS_EX ; NSTRUCT 変数を確保
st->LogFileFullExceptions = 100
mes "LogFileFullExceptions=" + st->LogFileFullExceptions