Win32 API 日本語リファレンス
ホームStorage.FileSystem › STAT_WORKSTATION_0

STAT_WORKSTATION_0

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

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

フィールド

フィールドサイズx64x86説明
StatisticsStartTimeLONGLONG8+0+0統計収集を開始した時刻(1601年起点の100ns単位)。
BytesReceivedLONGLONG8+8+8ワークステーションが受信した総バイト数。
SmbsReceivedLONGLONG8+16+16受信したSMB(サーバーメッセージブロック)数。
PagingReadBytesRequestedLONGLONG8+24+24ページング読み取りで要求された総バイト数。
NonPagingReadBytesRequestedLONGLONG8+32+32非ページング読み取りで要求された総バイト数。
CacheReadBytesRequestedLONGLONG8+40+40キャッシュ読み取りで要求された総バイト数。
NetworkReadBytesRequestedLONGLONG8+48+48ネットワーク経由で読み取り要求された総バイト数。
BytesTransmittedLONGLONG8+56+56ワークステーションが送信した総バイト数。
SmbsTransmittedLONGLONG8+64+64送信したSMB数。
PagingWriteBytesRequestedLONGLONG8+72+72ページング書き込みで要求された総バイト数。
NonPagingWriteBytesRequestedLONGLONG8+80+80非ページング書き込みで要求された総バイト数。
CacheWriteBytesRequestedLONGLONG8+88+88キャッシュ書き込みで要求された総バイト数。
NetworkWriteBytesRequestedLONGLONG8+96+96ネットワーク経由で書き込み要求された総バイト数。
InitiallyFailedOperationsDWORD4+104+104開始時点で失敗したネットワーク操作の数。
FailedCompletionOperationsDWORD4+108+108完了時に失敗したネットワーク操作の数。
ReadOperationsDWORD4+112+112実行された読み取り操作の総数。
RandomReadOperationsDWORD4+116+116シーケンシャルでないランダム読み取り操作の数。
ReadSmbsDWORD4+120+120読み取りに使用されたSMB数。
LargeReadSmbsDWORD4+124+124バッファサイズを超える大きな読み取りSMB数。
SmallReadSmbsDWORD4+128+128全バッファの1/4未満の小さな読み取りSMB数。
WriteOperationsDWORD4+132+132実行された書き込み操作の総数。
RandomWriteOperationsDWORD4+136+136シーケンシャルでないランダム書き込み操作の数。
WriteSmbsDWORD4+140+140書き込みに使用されたSMB数。
LargeWriteSmbsDWORD4+144+144バッファサイズを超える大きな書き込みSMB数。
SmallWriteSmbsDWORD4+148+148全バッファの1/4未満の小さな書き込みSMB数。
RawReadsDeniedDWORD4+152+152拒否されたraw読み取り要求の数。
RawWritesDeniedDWORD4+156+156拒否されたraw書き込み要求の数。
NetworkErrorsDWORD4+160+160発生したネットワークエラーの数。
SessionsDWORD4+164+164確立されたセッションの数。
FailedSessionsDWORD4+168+168確立に失敗したセッションの数。
ReconnectsDWORD4+172+172再接続が行われた回数。
CoreConnectsDWORD4+176+176Core(初期SMBダイアレクト)で確立した接続数。
Lanman20ConnectsDWORD4+180+180LAN Manager 2.0プロトコルで確立した接続数。
Lanman21ConnectsDWORD4+184+184LAN Manager 2.1プロトコルで確立した接続数。
LanmanNtConnectsDWORD4+188+188Windows NT系プロトコルで確立した接続数。
ServerDisconnectsDWORD4+192+192サーバー側から切断された回数。
HungSessionsDWORD4+196+196応答停止(ハング)したセッションの数。
UseCountDWORD4+200+200ネットワーク接続が使用された回数。
FailedUseCountDWORD4+204+204ネットワーク接続使用に失敗した回数。
CurrentCommandsDWORD4+208+208現在キューに保留中のネットワークコマンド数。

各言語での定義

#include <windows.h>

// STAT_WORKSTATION_0  (x64 216 / x86 216 バイト)
typedef struct STAT_WORKSTATION_0 {
    LONGLONG StatisticsStartTime;
    LONGLONG BytesReceived;
    LONGLONG SmbsReceived;
    LONGLONG PagingReadBytesRequested;
    LONGLONG NonPagingReadBytesRequested;
    LONGLONG CacheReadBytesRequested;
    LONGLONG NetworkReadBytesRequested;
    LONGLONG BytesTransmitted;
    LONGLONG SmbsTransmitted;
    LONGLONG PagingWriteBytesRequested;
    LONGLONG NonPagingWriteBytesRequested;
    LONGLONG CacheWriteBytesRequested;
    LONGLONG NetworkWriteBytesRequested;
    DWORD InitiallyFailedOperations;
    DWORD FailedCompletionOperations;
    DWORD ReadOperations;
    DWORD RandomReadOperations;
    DWORD ReadSmbs;
    DWORD LargeReadSmbs;
    DWORD SmallReadSmbs;
    DWORD WriteOperations;
    DWORD RandomWriteOperations;
    DWORD WriteSmbs;
    DWORD LargeWriteSmbs;
    DWORD SmallWriteSmbs;
    DWORD RawReadsDenied;
    DWORD RawWritesDenied;
    DWORD NetworkErrors;
    DWORD Sessions;
    DWORD FailedSessions;
    DWORD Reconnects;
    DWORD CoreConnects;
    DWORD Lanman20Connects;
    DWORD Lanman21Connects;
    DWORD LanmanNtConnects;
    DWORD ServerDisconnects;
    DWORD HungSessions;
    DWORD UseCount;
    DWORD FailedUseCount;
    DWORD CurrentCommands;
} STAT_WORKSTATION_0;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct STAT_WORKSTATION_0
{
    public long StatisticsStartTime;
    public long BytesReceived;
    public long SmbsReceived;
    public long PagingReadBytesRequested;
    public long NonPagingReadBytesRequested;
    public long CacheReadBytesRequested;
    public long NetworkReadBytesRequested;
    public long BytesTransmitted;
    public long SmbsTransmitted;
    public long PagingWriteBytesRequested;
    public long NonPagingWriteBytesRequested;
    public long CacheWriteBytesRequested;
    public long NetworkWriteBytesRequested;
    public uint InitiallyFailedOperations;
    public uint FailedCompletionOperations;
    public uint ReadOperations;
    public uint RandomReadOperations;
    public uint ReadSmbs;
    public uint LargeReadSmbs;
    public uint SmallReadSmbs;
    public uint WriteOperations;
    public uint RandomWriteOperations;
    public uint WriteSmbs;
    public uint LargeWriteSmbs;
    public uint SmallWriteSmbs;
    public uint RawReadsDenied;
    public uint RawWritesDenied;
    public uint NetworkErrors;
    public uint Sessions;
    public uint FailedSessions;
    public uint Reconnects;
    public uint CoreConnects;
    public uint Lanman20Connects;
    public uint Lanman21Connects;
    public uint LanmanNtConnects;
    public uint ServerDisconnects;
    public uint HungSessions;
    public uint UseCount;
    public uint FailedUseCount;
    public uint CurrentCommands;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure STAT_WORKSTATION_0
    Public StatisticsStartTime As Long
    Public BytesReceived As Long
    Public SmbsReceived As Long
    Public PagingReadBytesRequested As Long
    Public NonPagingReadBytesRequested As Long
    Public CacheReadBytesRequested As Long
    Public NetworkReadBytesRequested As Long
    Public BytesTransmitted As Long
    Public SmbsTransmitted As Long
    Public PagingWriteBytesRequested As Long
    Public NonPagingWriteBytesRequested As Long
    Public CacheWriteBytesRequested As Long
    Public NetworkWriteBytesRequested As Long
    Public InitiallyFailedOperations As UInteger
    Public FailedCompletionOperations As UInteger
    Public ReadOperations As UInteger
    Public RandomReadOperations As UInteger
    Public ReadSmbs As UInteger
    Public LargeReadSmbs As UInteger
    Public SmallReadSmbs As UInteger
    Public WriteOperations As UInteger
    Public RandomWriteOperations As UInteger
    Public WriteSmbs As UInteger
    Public LargeWriteSmbs As UInteger
    Public SmallWriteSmbs As UInteger
    Public RawReadsDenied As UInteger
    Public RawWritesDenied As UInteger
    Public NetworkErrors As UInteger
    Public Sessions As UInteger
    Public FailedSessions As UInteger
    Public Reconnects As UInteger
    Public CoreConnects As UInteger
    Public Lanman20Connects As UInteger
    Public Lanman21Connects As UInteger
    Public LanmanNtConnects As UInteger
    Public ServerDisconnects As UInteger
    Public HungSessions As UInteger
    Public UseCount As UInteger
    Public FailedUseCount As UInteger
    Public CurrentCommands As UInteger
End Structure
import ctypes
from ctypes import wintypes

class STAT_WORKSTATION_0(ctypes.Structure):
    _fields_ = [
        ("StatisticsStartTime", ctypes.c_longlong),
        ("BytesReceived", ctypes.c_longlong),
        ("SmbsReceived", ctypes.c_longlong),
        ("PagingReadBytesRequested", ctypes.c_longlong),
        ("NonPagingReadBytesRequested", ctypes.c_longlong),
        ("CacheReadBytesRequested", ctypes.c_longlong),
        ("NetworkReadBytesRequested", ctypes.c_longlong),
        ("BytesTransmitted", ctypes.c_longlong),
        ("SmbsTransmitted", ctypes.c_longlong),
        ("PagingWriteBytesRequested", ctypes.c_longlong),
        ("NonPagingWriteBytesRequested", ctypes.c_longlong),
        ("CacheWriteBytesRequested", ctypes.c_longlong),
        ("NetworkWriteBytesRequested", ctypes.c_longlong),
        ("InitiallyFailedOperations", wintypes.DWORD),
        ("FailedCompletionOperations", wintypes.DWORD),
        ("ReadOperations", wintypes.DWORD),
        ("RandomReadOperations", wintypes.DWORD),
        ("ReadSmbs", wintypes.DWORD),
        ("LargeReadSmbs", wintypes.DWORD),
        ("SmallReadSmbs", wintypes.DWORD),
        ("WriteOperations", wintypes.DWORD),
        ("RandomWriteOperations", wintypes.DWORD),
        ("WriteSmbs", wintypes.DWORD),
        ("LargeWriteSmbs", wintypes.DWORD),
        ("SmallWriteSmbs", wintypes.DWORD),
        ("RawReadsDenied", wintypes.DWORD),
        ("RawWritesDenied", wintypes.DWORD),
        ("NetworkErrors", wintypes.DWORD),
        ("Sessions", wintypes.DWORD),
        ("FailedSessions", wintypes.DWORD),
        ("Reconnects", wintypes.DWORD),
        ("CoreConnects", wintypes.DWORD),
        ("Lanman20Connects", wintypes.DWORD),
        ("Lanman21Connects", wintypes.DWORD),
        ("LanmanNtConnects", wintypes.DWORD),
        ("ServerDisconnects", wintypes.DWORD),
        ("HungSessions", wintypes.DWORD),
        ("UseCount", wintypes.DWORD),
        ("FailedUseCount", wintypes.DWORD),
        ("CurrentCommands", wintypes.DWORD),
    ]
#[repr(C)]
pub struct STAT_WORKSTATION_0 {
    pub StatisticsStartTime: i64,
    pub BytesReceived: i64,
    pub SmbsReceived: i64,
    pub PagingReadBytesRequested: i64,
    pub NonPagingReadBytesRequested: i64,
    pub CacheReadBytesRequested: i64,
    pub NetworkReadBytesRequested: i64,
    pub BytesTransmitted: i64,
    pub SmbsTransmitted: i64,
    pub PagingWriteBytesRequested: i64,
    pub NonPagingWriteBytesRequested: i64,
    pub CacheWriteBytesRequested: i64,
    pub NetworkWriteBytesRequested: i64,
    pub InitiallyFailedOperations: u32,
    pub FailedCompletionOperations: u32,
    pub ReadOperations: u32,
    pub RandomReadOperations: u32,
    pub ReadSmbs: u32,
    pub LargeReadSmbs: u32,
    pub SmallReadSmbs: u32,
    pub WriteOperations: u32,
    pub RandomWriteOperations: u32,
    pub WriteSmbs: u32,
    pub LargeWriteSmbs: u32,
    pub SmallWriteSmbs: u32,
    pub RawReadsDenied: u32,
    pub RawWritesDenied: u32,
    pub NetworkErrors: u32,
    pub Sessions: u32,
    pub FailedSessions: u32,
    pub Reconnects: u32,
    pub CoreConnects: u32,
    pub Lanman20Connects: u32,
    pub Lanman21Connects: u32,
    pub LanmanNtConnects: u32,
    pub ServerDisconnects: u32,
    pub HungSessions: u32,
    pub UseCount: u32,
    pub FailedUseCount: u32,
    pub CurrentCommands: u32,
}
import "golang.org/x/sys/windows"

type STAT_WORKSTATION_0 struct {
	StatisticsStartTime int64
	BytesReceived int64
	SmbsReceived int64
	PagingReadBytesRequested int64
	NonPagingReadBytesRequested int64
	CacheReadBytesRequested int64
	NetworkReadBytesRequested int64
	BytesTransmitted int64
	SmbsTransmitted int64
	PagingWriteBytesRequested int64
	NonPagingWriteBytesRequested int64
	CacheWriteBytesRequested int64
	NetworkWriteBytesRequested int64
	InitiallyFailedOperations uint32
	FailedCompletionOperations uint32
	ReadOperations uint32
	RandomReadOperations uint32
	ReadSmbs uint32
	LargeReadSmbs uint32
	SmallReadSmbs uint32
	WriteOperations uint32
	RandomWriteOperations uint32
	WriteSmbs uint32
	LargeWriteSmbs uint32
	SmallWriteSmbs uint32
	RawReadsDenied uint32
	RawWritesDenied uint32
	NetworkErrors uint32
	Sessions uint32
	FailedSessions uint32
	Reconnects uint32
	CoreConnects uint32
	Lanman20Connects uint32
	Lanman21Connects uint32
	LanmanNtConnects uint32
	ServerDisconnects uint32
	HungSessions uint32
	UseCount uint32
	FailedUseCount uint32
	CurrentCommands uint32
}
type
  STAT_WORKSTATION_0 = record
    StatisticsStartTime: Int64;
    BytesReceived: Int64;
    SmbsReceived: Int64;
    PagingReadBytesRequested: Int64;
    NonPagingReadBytesRequested: Int64;
    CacheReadBytesRequested: Int64;
    NetworkReadBytesRequested: Int64;
    BytesTransmitted: Int64;
    SmbsTransmitted: Int64;
    PagingWriteBytesRequested: Int64;
    NonPagingWriteBytesRequested: Int64;
    CacheWriteBytesRequested: Int64;
    NetworkWriteBytesRequested: Int64;
    InitiallyFailedOperations: DWORD;
    FailedCompletionOperations: DWORD;
    ReadOperations: DWORD;
    RandomReadOperations: DWORD;
    ReadSmbs: DWORD;
    LargeReadSmbs: DWORD;
    SmallReadSmbs: DWORD;
    WriteOperations: DWORD;
    RandomWriteOperations: DWORD;
    WriteSmbs: DWORD;
    LargeWriteSmbs: DWORD;
    SmallWriteSmbs: DWORD;
    RawReadsDenied: DWORD;
    RawWritesDenied: DWORD;
    NetworkErrors: DWORD;
    Sessions: DWORD;
    FailedSessions: DWORD;
    Reconnects: DWORD;
    CoreConnects: DWORD;
    Lanman20Connects: DWORD;
    Lanman21Connects: DWORD;
    LanmanNtConnects: DWORD;
    ServerDisconnects: DWORD;
    HungSessions: DWORD;
    UseCount: DWORD;
    FailedUseCount: DWORD;
    CurrentCommands: DWORD;
  end;
const STAT_WORKSTATION_0 = extern struct {
    StatisticsStartTime: i64,
    BytesReceived: i64,
    SmbsReceived: i64,
    PagingReadBytesRequested: i64,
    NonPagingReadBytesRequested: i64,
    CacheReadBytesRequested: i64,
    NetworkReadBytesRequested: i64,
    BytesTransmitted: i64,
    SmbsTransmitted: i64,
    PagingWriteBytesRequested: i64,
    NonPagingWriteBytesRequested: i64,
    CacheWriteBytesRequested: i64,
    NetworkWriteBytesRequested: i64,
    InitiallyFailedOperations: u32,
    FailedCompletionOperations: u32,
    ReadOperations: u32,
    RandomReadOperations: u32,
    ReadSmbs: u32,
    LargeReadSmbs: u32,
    SmallReadSmbs: u32,
    WriteOperations: u32,
    RandomWriteOperations: u32,
    WriteSmbs: u32,
    LargeWriteSmbs: u32,
    SmallWriteSmbs: u32,
    RawReadsDenied: u32,
    RawWritesDenied: u32,
    NetworkErrors: u32,
    Sessions: u32,
    FailedSessions: u32,
    Reconnects: u32,
    CoreConnects: u32,
    Lanman20Connects: u32,
    Lanman21Connects: u32,
    LanmanNtConnects: u32,
    ServerDisconnects: u32,
    HungSessions: u32,
    UseCount: u32,
    FailedUseCount: u32,
    CurrentCommands: u32,
};
type
  STAT_WORKSTATION_0 {.bycopy.} = object
    StatisticsStartTime: int64
    BytesReceived: int64
    SmbsReceived: int64
    PagingReadBytesRequested: int64
    NonPagingReadBytesRequested: int64
    CacheReadBytesRequested: int64
    NetworkReadBytesRequested: int64
    BytesTransmitted: int64
    SmbsTransmitted: int64
    PagingWriteBytesRequested: int64
    NonPagingWriteBytesRequested: int64
    CacheWriteBytesRequested: int64
    NetworkWriteBytesRequested: int64
    InitiallyFailedOperations: uint32
    FailedCompletionOperations: uint32
    ReadOperations: uint32
    RandomReadOperations: uint32
    ReadSmbs: uint32
    LargeReadSmbs: uint32
    SmallReadSmbs: uint32
    WriteOperations: uint32
    RandomWriteOperations: uint32
    WriteSmbs: uint32
    LargeWriteSmbs: uint32
    SmallWriteSmbs: uint32
    RawReadsDenied: uint32
    RawWritesDenied: uint32
    NetworkErrors: uint32
    Sessions: uint32
    FailedSessions: uint32
    Reconnects: uint32
    CoreConnects: uint32
    Lanman20Connects: uint32
    Lanman21Connects: uint32
    LanmanNtConnects: uint32
    ServerDisconnects: uint32
    HungSessions: uint32
    UseCount: uint32
    FailedUseCount: uint32
    CurrentCommands: uint32
struct STAT_WORKSTATION_0
{
    long StatisticsStartTime;
    long BytesReceived;
    long SmbsReceived;
    long PagingReadBytesRequested;
    long NonPagingReadBytesRequested;
    long CacheReadBytesRequested;
    long NetworkReadBytesRequested;
    long BytesTransmitted;
    long SmbsTransmitted;
    long PagingWriteBytesRequested;
    long NonPagingWriteBytesRequested;
    long CacheWriteBytesRequested;
    long NetworkWriteBytesRequested;
    uint InitiallyFailedOperations;
    uint FailedCompletionOperations;
    uint ReadOperations;
    uint RandomReadOperations;
    uint ReadSmbs;
    uint LargeReadSmbs;
    uint SmallReadSmbs;
    uint WriteOperations;
    uint RandomWriteOperations;
    uint WriteSmbs;
    uint LargeWriteSmbs;
    uint SmallWriteSmbs;
    uint RawReadsDenied;
    uint RawWritesDenied;
    uint NetworkErrors;
    uint Sessions;
    uint FailedSessions;
    uint Reconnects;
    uint CoreConnects;
    uint Lanman20Connects;
    uint Lanman21Connects;
    uint LanmanNtConnects;
    uint ServerDisconnects;
    uint HungSessions;
    uint UseCount;
    uint FailedUseCount;
    uint CurrentCommands;
}

HSP用 定義

HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; STAT_WORKSTATION_0 サイズ: 216 バイト(x64)
dim st, 54    ; 4byte整数×54(構造体サイズ 216 / 4 切り上げ)
; StatisticsStartTime : LONGLONG (+0, 8byte)  qpoke st,0,値 / qpeek(st,0)  ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; BytesReceived : LONGLONG (+8, 8byte)  qpoke st,8,値 / qpeek(st,8)  ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; SmbsReceived : LONGLONG (+16, 8byte)  qpoke st,16,値 / qpeek(st,16)  ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; PagingReadBytesRequested : LONGLONG (+24, 8byte)  qpoke st,24,値 / qpeek(st,24)  ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; NonPagingReadBytesRequested : LONGLONG (+32, 8byte)  qpoke st,32,値 / qpeek(st,32)  ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; CacheReadBytesRequested : LONGLONG (+40, 8byte)  qpoke st,40,値 / qpeek(st,40)  ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; NetworkReadBytesRequested : LONGLONG (+48, 8byte)  qpoke st,48,値 / qpeek(st,48)  ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; BytesTransmitted : LONGLONG (+56, 8byte)  qpoke st,56,値 / qpeek(st,56)  ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; SmbsTransmitted : LONGLONG (+64, 8byte)  qpoke st,64,値 / qpeek(st,64)  ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; PagingWriteBytesRequested : LONGLONG (+72, 8byte)  qpoke st,72,値 / qpeek(st,72)  ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; NonPagingWriteBytesRequested : LONGLONG (+80, 8byte)  qpoke st,80,値 / qpeek(st,80)  ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; CacheWriteBytesRequested : LONGLONG (+88, 8byte)  qpoke st,88,値 / qpeek(st,88)  ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; NetworkWriteBytesRequested : LONGLONG (+96, 8byte)  qpoke st,96,値 / qpeek(st,96)  ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; InitiallyFailedOperations : DWORD (+104, 4byte)  st.26 = 値  /  値 = st.26   (lpoke/lpeek も可)
; FailedCompletionOperations : DWORD (+108, 4byte)  st.27 = 値  /  値 = st.27   (lpoke/lpeek も可)
; ReadOperations : DWORD (+112, 4byte)  st.28 = 値  /  値 = st.28   (lpoke/lpeek も可)
; RandomReadOperations : DWORD (+116, 4byte)  st.29 = 値  /  値 = st.29   (lpoke/lpeek も可)
; ReadSmbs : DWORD (+120, 4byte)  st.30 = 値  /  値 = st.30   (lpoke/lpeek も可)
; LargeReadSmbs : DWORD (+124, 4byte)  st.31 = 値  /  値 = st.31   (lpoke/lpeek も可)
; SmallReadSmbs : DWORD (+128, 4byte)  st.32 = 値  /  値 = st.32   (lpoke/lpeek も可)
; WriteOperations : DWORD (+132, 4byte)  st.33 = 値  /  値 = st.33   (lpoke/lpeek も可)
; RandomWriteOperations : DWORD (+136, 4byte)  st.34 = 値  /  値 = st.34   (lpoke/lpeek も可)
; WriteSmbs : DWORD (+140, 4byte)  st.35 = 値  /  値 = st.35   (lpoke/lpeek も可)
; LargeWriteSmbs : DWORD (+144, 4byte)  st.36 = 値  /  値 = st.36   (lpoke/lpeek も可)
; SmallWriteSmbs : DWORD (+148, 4byte)  st.37 = 値  /  値 = st.37   (lpoke/lpeek も可)
; RawReadsDenied : DWORD (+152, 4byte)  st.38 = 値  /  値 = st.38   (lpoke/lpeek も可)
; RawWritesDenied : DWORD (+156, 4byte)  st.39 = 値  /  値 = st.39   (lpoke/lpeek も可)
; NetworkErrors : DWORD (+160, 4byte)  st.40 = 値  /  値 = st.40   (lpoke/lpeek も可)
; Sessions : DWORD (+164, 4byte)  st.41 = 値  /  値 = st.41   (lpoke/lpeek も可)
; FailedSessions : DWORD (+168, 4byte)  st.42 = 値  /  値 = st.42   (lpoke/lpeek も可)
; Reconnects : DWORD (+172, 4byte)  st.43 = 値  /  値 = st.43   (lpoke/lpeek も可)
; CoreConnects : DWORD (+176, 4byte)  st.44 = 値  /  値 = st.44   (lpoke/lpeek も可)
; Lanman20Connects : DWORD (+180, 4byte)  st.45 = 値  /  値 = st.45   (lpoke/lpeek も可)
; Lanman21Connects : DWORD (+184, 4byte)  st.46 = 値  /  値 = st.46   (lpoke/lpeek も可)
; LanmanNtConnects : DWORD (+188, 4byte)  st.47 = 値  /  値 = st.47   (lpoke/lpeek も可)
; ServerDisconnects : DWORD (+192, 4byte)  st.48 = 値  /  値 = st.48   (lpoke/lpeek も可)
; HungSessions : DWORD (+196, 4byte)  st.49 = 値  /  値 = st.49   (lpoke/lpeek も可)
; UseCount : DWORD (+200, 4byte)  st.50 = 値  /  値 = st.50   (lpoke/lpeek も可)
; FailedUseCount : DWORD (+204, 4byte)  st.51 = 値  /  値 = st.51   (lpoke/lpeek も可)
; CurrentCommands : DWORD (+208, 4byte)  st.52 = 値  /  値 = st.52   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global STAT_WORKSTATION_0
    #field int64 StatisticsStartTime
    #field int64 BytesReceived
    #field int64 SmbsReceived
    #field int64 PagingReadBytesRequested
    #field int64 NonPagingReadBytesRequested
    #field int64 CacheReadBytesRequested
    #field int64 NetworkReadBytesRequested
    #field int64 BytesTransmitted
    #field int64 SmbsTransmitted
    #field int64 PagingWriteBytesRequested
    #field int64 NonPagingWriteBytesRequested
    #field int64 CacheWriteBytesRequested
    #field int64 NetworkWriteBytesRequested
    #field int InitiallyFailedOperations
    #field int FailedCompletionOperations
    #field int ReadOperations
    #field int RandomReadOperations
    #field int ReadSmbs
    #field int LargeReadSmbs
    #field int SmallReadSmbs
    #field int WriteOperations
    #field int RandomWriteOperations
    #field int WriteSmbs
    #field int LargeWriteSmbs
    #field int SmallWriteSmbs
    #field int RawReadsDenied
    #field int RawWritesDenied
    #field int NetworkErrors
    #field int Sessions
    #field int FailedSessions
    #field int Reconnects
    #field int CoreConnects
    #field int Lanman20Connects
    #field int Lanman21Connects
    #field int LanmanNtConnects
    #field int ServerDisconnects
    #field int HungSessions
    #field int UseCount
    #field int FailedUseCount
    #field int CurrentCommands
#endstruct

stdim st, STAT_WORKSTATION_0        ; NSTRUCT 変数を確保
st->StatisticsStartTime = 100
mes "StatisticsStartTime=" + st->StatisticsStartTime