Win32 API 日本語リファレンス
ホームSystem.Ioctl › NTFS_STATISTICS_EX

NTFS_STATISTICS_EX

構造体
サイズx64: 496 バイト / x86: 496 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86説明
LogFileFullExceptionsDWORD4+0+0ログファイルが満杯になり発生した例外の回数。
OtherExceptionsDWORD4+4+4上記以外で発生した例外の回数。
MftReadsULONGLONG8+8+8MFTの読み取り回数(64ビット)。
MftReadBytesULONGLONG8+16+16MFT読み取りで処理されたバイト数(64ビット)。
MftWritesULONGLONG8+24+24MFTの書き込み回数(64ビット)。
MftWriteBytesULONGLONG8+32+32MFT書き込みで処理されたバイト数(64ビット)。
MftWritesUserLevel_MftWritesUserLevel_e__Struct16+40+40MFT書き込みの発生元レベル別内訳を保持する内部構造体。
MftWritesFlushForLogFileFullDWORD4+56+56ログファイル満杯のフラッシュに起因するMFT書き込み回数。
MftWritesLazyWriterDWORD4+60+60遅延書き込みによるMFT書き込み回数。
MftWritesUserRequestDWORD4+64+64ユーザー要求に起因するMFT書き込み回数。
Mft2WritesULONGLONG8+72+72MFTミラー(MFT2)の書き込み回数(64ビット)。
Mft2WriteBytesULONGLONG8+80+80MFTミラー書き込みで処理されたバイト数(64ビット)。
Mft2WritesUserLevel_Mft2WritesUserLevel_e__Struct16+88+88MFTミラー書き込みの発生元レベル別内訳を保持する内部構造体。
Mft2WritesFlushForLogFileFullDWORD4+104+104ログファイル満杯のフラッシュに起因するMFTミラー書き込み回数。
Mft2WritesLazyWriterDWORD4+108+108遅延書き込みによるMFTミラー書き込み回数。
Mft2WritesUserRequestDWORD4+112+112ユーザー要求に起因するMFTミラー書き込み回数。
RootIndexReadsULONGLONG8+120+120ルートインデックスの読み取り回数(64ビット)。
RootIndexReadBytesULONGLONG8+128+128ルートインデックス読み取りで処理されたバイト数(64ビット)。
RootIndexWritesULONGLONG8+136+136ルートインデックスの書き込み回数(64ビット)。
RootIndexWriteBytesULONGLONG8+144+144ルートインデックス書き込みで処理されたバイト数(64ビット)。
BitmapReadsULONGLONG8+152+152ボリュームビットマップの読み取り回数(64ビット)。
BitmapReadBytesULONGLONG8+160+160ビットマップ読み取りで処理されたバイト数(64ビット)。
BitmapWritesULONGLONG8+168+168ボリュームビットマップの書き込み回数(64ビット)。
BitmapWriteBytesULONGLONG8+176+176ビットマップ書き込みで処理されたバイト数(64ビット)。
BitmapWritesFlushForLogFileFullDWORD4+184+184ログファイル満杯のフラッシュに起因するビットマップ書き込み回数。
BitmapWritesLazyWriterDWORD4+188+188遅延書き込みによるビットマップ書き込み回数。
BitmapWritesUserRequestDWORD4+192+192ユーザー要求に起因するビットマップ書き込み回数。
BitmapWritesUserLevel_BitmapWritesUserLevel_e__Struct16+196+196ビットマップ書き込みの発生元レベル別内訳を保持する内部構造体。
MftBitmapReadsULONGLONG8+216+216MFTビットマップの読み取り回数(64ビット)。
MftBitmapReadBytesULONGLONG8+224+224MFTビットマップ読み取りで処理されたバイト数(64ビット)。
MftBitmapWritesULONGLONG8+232+232MFTビットマップの書き込み回数(64ビット)。
MftBitmapWriteBytesULONGLONG8+240+240MFTビットマップ書き込みで処理されたバイト数(64ビット)。
MftBitmapWritesFlushForLogFileFullDWORD4+248+248ログファイル満杯のフラッシュに起因するMFTビットマップ書き込み回数。
MftBitmapWritesLazyWriterDWORD4+252+252遅延書き込みによるMFTビットマップ書き込み回数。
MftBitmapWritesUserRequestDWORD4+256+256ユーザー要求に起因するMFTビットマップ書き込み回数。
MftBitmapWritesUserLevel_MftBitmapWritesUserLevel_e__Struct16+260+260MFTビットマップ書き込みの発生元レベル別内訳を保持する内部構造体。
UserIndexReadsULONGLONG8+280+280ユーザーインデックスの読み取り回数(64ビット)。
UserIndexReadBytesULONGLONG8+288+288ユーザーインデックス読み取りで処理されたバイト数(64ビット)。
UserIndexWritesULONGLONG8+296+296ユーザーインデックスの書き込み回数(64ビット)。
UserIndexWriteBytesULONGLONG8+304+304ユーザーインデックス書き込みで処理されたバイト数(64ビット)。
LogFileReadsULONGLONG8+312+312ログファイルの読み取り回数(64ビット)。
LogFileReadBytesULONGLONG8+320+320ログファイル読み取りで処理されたバイト数(64ビット)。
LogFileWritesULONGLONG8+328+328ログファイルの書き込み回数(64ビット)。
LogFileWriteBytesULONGLONG8+336+336ログファイル書き込みで処理されたバイト数(64ビット)。
Allocate_Allocate_e__Struct56+344+344クラスタ割り当て活動の統計を保持する内部構造体。
DiskResourcesExhaustedDWORD4+400+400ディスク領域が枯渇した発生回数。
VolumeTrimCountULONGLONG8+408+408ボリューム全体に対するTRIM操作の回数。
VolumeTrimTimeULONGLONG8+416+416ボリュームTRIM操作に要した累積時間。
VolumeTrimByteCountULONGLONG8+424+424ボリュームTRIMで処理されたバイト数。
FileLevelTrimCountULONGLONG8+432+432ファイル単位のTRIM操作の回数。
FileLevelTrimTimeULONGLONG8+440+440ファイル単位TRIM操作に要した累積時間。
FileLevelTrimByteCountULONGLONG8+448+448ファイル単位TRIMで処理されたバイト数。
VolumeTrimSkippedCountULONGLONG8+456+456スキップされたボリュームTRIM操作の回数。
VolumeTrimSkippedByteCountULONGLONG8+464+464スキップされたボリュームTRIMのバイト数。
NtfsFillStatInfoFromMftRecordCalledCountULONGLONG8+472+472MFTレコードからの統計情報取得処理が呼ばれた回数。
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCountULONGLONG8+480+480属性リストの存在により統計取得を中断した回数。
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCountULONGLONG8+488+488非常駐の再解析ポイントにより統計取得を中断した回数。

構造体: _MftWritesUserLevel_e__Struct x64 16B / x86 16B

フィールドサイズx64x86
WriteDWORD4+0+0
CreateDWORD4+4+4
SetInfoDWORD4+8+8
FlushDWORD4+12+12

構造体: _Mft2WritesUserLevel_e__Struct x64 16B / x86 16B

フィールドサイズx64x86
WriteDWORD4+0+0
CreateDWORD4+4+4
SetInfoDWORD4+8+8
FlushDWORD4+12+12

構造体: _BitmapWritesUserLevel_e__Struct x64 16B / x86 16B

フィールドサイズx64x86
WriteDWORD4+0+0
CreateDWORD4+4+4
SetInfoDWORD4+8+8
FlushDWORD4+12+12

構造体: _MftBitmapWritesUserLevel_e__Struct x64 16B / x86 16B

フィールドサイズx64x86
WriteDWORD4+0+0
CreateDWORD4+4+4
SetInfoDWORD4+8+8
FlushDWORD4+12+12

構造体: _Allocate_e__Struct x64 56B / x86 56B

フィールドサイズx64x86
CallsDWORD4+0+0
RunsReturnedDWORD4+4+4
HintsDWORD4+8+8
HintsHonoredDWORD4+12+12
CacheDWORD4+16+16
CacheMissDWORD4+20+20
ClustersULONGLONG8+24+24
HintsClustersULONGLONG8+32+32
CacheClustersULONGLONG8+40+40
CacheMissClustersULONGLONG8+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 Structure
import 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: uint64
struct 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