ホーム › NetworkManagement.Rras › RAS_PORT_2
RAS_PORT_2
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| hPort | HANDLE | 8/4 | +0 | +0 | RASポートを識別するハンドル。 |
| hConnection | HANDLE | 8/4 | +8 | +4 | このポートに関連付く接続のハンドル。 |
| dwConn_State | DWORD | 4 | +16 | +8 | ポートの接続状態を表す値。 |
| wszPortName | WCHAR | 34 | +20 | +12 | ポートの名前を表すワイド文字列。 |
| wszMediaName | WCHAR | 34 | +54 | +46 | ポートが使用するメディアの名前(ワイド文字列)。 |
| wszDeviceName | WCHAR | 258 | +88 | +80 | ポートに関連付くデバイスの名前(ワイド文字列)。 |
| wszDeviceType | WCHAR | 34 | +346 | +338 | ポートに関連付くデバイスの種別(ワイド文字列)。 |
| dwHardwareCondition | RAS_HARDWARE_CONDITION | 4 | +380 | +372 | ハードウェアの状態を表すRAS_HARDWARE_CONDITION列挙値。 |
| dwLineSpeed | DWORD | 4 | +384 | +376 | 回線速度(ビット毎秒、bps)。 |
| dwCrcErr | DWORD | 4 | +388 | +380 | 発生したCRCエラーの数。 |
| dwSerialOverRunErrs | DWORD | 4 | +392 | +384 | 発生したシリアルオーバーランエラーの数。 |
| dwTimeoutErr | DWORD | 4 | +396 | +388 | 発生したタイムアウトエラーの数。 |
| dwAlignmentErr | DWORD | 4 | +400 | +392 | 発生したアラインメントエラーの数。 |
| dwHardwareOverrunErr | DWORD | 4 | +404 | +396 | 発生したハードウェアオーバーランエラーの数。 |
| dwFramingErr | DWORD | 4 | +408 | +400 | 発生したフレーミングエラーの数。 |
| dwBufferOverrunErr | DWORD | 4 | +412 | +404 | 発生したバッファオーバーランエラーの数。 |
| dwCompressionRatioIn | DWORD | 4 | +416 | +408 | 受信データの圧縮率(%)。 |
| dwCompressionRatioOut | DWORD | 4 | +420 | +412 | 送信データの圧縮率(%)。 |
| dwTotalErrors | DWORD | 4 | +424 | +416 | 発生したエラーの総数。 |
| ullBytesXmited | ULONGLONG | 8 | +432 | +424 | 送信されたバイト数(64ビット)。 |
| ullBytesRcved | ULONGLONG | 8 | +440 | +432 | 受信したバイト数(64ビット)。 |
| ullFramesXmited | ULONGLONG | 8 | +448 | +440 | 送信されたフレーム数(64ビット)。 |
| ullFramesRcved | ULONGLONG | 8 | +456 | +448 | 受信したフレーム数(64ビット)。 |
| ullBytesTxUncompressed | ULONGLONG | 8 | +464 | +456 | 圧縮前の送信バイト数(64ビット)。 |
| ullBytesTxCompressed | ULONGLONG | 8 | +472 | +464 | 圧縮後の送信バイト数(64ビット)。 |
| ullBytesRcvUncompressed | ULONGLONG | 8 | +480 | +472 | 圧縮前の受信バイト数(64ビット)。 |
| ullBytesRcvCompressed | ULONGLONG | 8 | +488 | +480 | 圧縮後の受信バイト数(64ビット)。 |
各言語での定義
#include <windows.h>
// RAS_PORT_2 (x64 496 / x86 488 バイト)
typedef struct RAS_PORT_2 {
HANDLE hPort;
HANDLE hConnection;
DWORD dwConn_State;
WCHAR wszPortName[17];
WCHAR wszMediaName[17];
WCHAR wszDeviceName[129];
WCHAR wszDeviceType[17];
RAS_HARDWARE_CONDITION dwHardwareCondition;
DWORD dwLineSpeed;
DWORD dwCrcErr;
DWORD dwSerialOverRunErrs;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
DWORD dwTotalErrors;
ULONGLONG ullBytesXmited;
ULONGLONG ullBytesRcved;
ULONGLONG ullFramesXmited;
ULONGLONG ullFramesRcved;
ULONGLONG ullBytesTxUncompressed;
ULONGLONG ullBytesTxCompressed;
ULONGLONG ullBytesRcvUncompressed;
ULONGLONG ullBytesRcvCompressed;
} RAS_PORT_2;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct RAS_PORT_2
{
public IntPtr hPort;
public IntPtr hConnection;
public uint dwConn_State;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string wszPortName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string wszMediaName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 129)] public string wszDeviceName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string wszDeviceType;
public int dwHardwareCondition;
public uint dwLineSpeed;
public uint dwCrcErr;
public uint dwSerialOverRunErrs;
public uint dwTimeoutErr;
public uint dwAlignmentErr;
public uint dwHardwareOverrunErr;
public uint dwFramingErr;
public uint dwBufferOverrunErr;
public uint dwCompressionRatioIn;
public uint dwCompressionRatioOut;
public uint dwTotalErrors;
public ulong ullBytesXmited;
public ulong ullBytesRcved;
public ulong ullFramesXmited;
public ulong ullFramesRcved;
public ulong ullBytesTxUncompressed;
public ulong ullBytesTxCompressed;
public ulong ullBytesRcvUncompressed;
public ulong ullBytesRcvCompressed;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure RAS_PORT_2
Public hPort As IntPtr
Public hConnection As IntPtr
Public dwConn_State As UInteger
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=17)> Public wszPortName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=17)> Public wszMediaName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=129)> Public wszDeviceName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=17)> Public wszDeviceType As String
Public dwHardwareCondition As Integer
Public dwLineSpeed As UInteger
Public dwCrcErr As UInteger
Public dwSerialOverRunErrs As UInteger
Public dwTimeoutErr As UInteger
Public dwAlignmentErr As UInteger
Public dwHardwareOverrunErr As UInteger
Public dwFramingErr As UInteger
Public dwBufferOverrunErr As UInteger
Public dwCompressionRatioIn As UInteger
Public dwCompressionRatioOut As UInteger
Public dwTotalErrors As UInteger
Public ullBytesXmited As ULong
Public ullBytesRcved As ULong
Public ullFramesXmited As ULong
Public ullFramesRcved As ULong
Public ullBytesTxUncompressed As ULong
Public ullBytesTxCompressed As ULong
Public ullBytesRcvUncompressed As ULong
Public ullBytesRcvCompressed As ULong
End Structureimport ctypes
from ctypes import wintypes
class RAS_PORT_2(ctypes.Structure):
_fields_ = [
("hPort", ctypes.c_void_p),
("hConnection", ctypes.c_void_p),
("dwConn_State", wintypes.DWORD),
("wszPortName", ctypes.c_wchar * 17),
("wszMediaName", ctypes.c_wchar * 17),
("wszDeviceName", ctypes.c_wchar * 129),
("wszDeviceType", ctypes.c_wchar * 17),
("dwHardwareCondition", ctypes.c_int),
("dwLineSpeed", wintypes.DWORD),
("dwCrcErr", wintypes.DWORD),
("dwSerialOverRunErrs", wintypes.DWORD),
("dwTimeoutErr", wintypes.DWORD),
("dwAlignmentErr", wintypes.DWORD),
("dwHardwareOverrunErr", wintypes.DWORD),
("dwFramingErr", wintypes.DWORD),
("dwBufferOverrunErr", wintypes.DWORD),
("dwCompressionRatioIn", wintypes.DWORD),
("dwCompressionRatioOut", wintypes.DWORD),
("dwTotalErrors", wintypes.DWORD),
("ullBytesXmited", ctypes.c_ulonglong),
("ullBytesRcved", ctypes.c_ulonglong),
("ullFramesXmited", ctypes.c_ulonglong),
("ullFramesRcved", ctypes.c_ulonglong),
("ullBytesTxUncompressed", ctypes.c_ulonglong),
("ullBytesTxCompressed", ctypes.c_ulonglong),
("ullBytesRcvUncompressed", ctypes.c_ulonglong),
("ullBytesRcvCompressed", ctypes.c_ulonglong),
]#[repr(C)]
pub struct RAS_PORT_2 {
pub hPort: *mut core::ffi::c_void,
pub hConnection: *mut core::ffi::c_void,
pub dwConn_State: u32,
pub wszPortName: [u16; 17],
pub wszMediaName: [u16; 17],
pub wszDeviceName: [u16; 129],
pub wszDeviceType: [u16; 17],
pub dwHardwareCondition: i32,
pub dwLineSpeed: u32,
pub dwCrcErr: u32,
pub dwSerialOverRunErrs: u32,
pub dwTimeoutErr: u32,
pub dwAlignmentErr: u32,
pub dwHardwareOverrunErr: u32,
pub dwFramingErr: u32,
pub dwBufferOverrunErr: u32,
pub dwCompressionRatioIn: u32,
pub dwCompressionRatioOut: u32,
pub dwTotalErrors: u32,
pub ullBytesXmited: u64,
pub ullBytesRcved: u64,
pub ullFramesXmited: u64,
pub ullFramesRcved: u64,
pub ullBytesTxUncompressed: u64,
pub ullBytesTxCompressed: u64,
pub ullBytesRcvUncompressed: u64,
pub ullBytesRcvCompressed: u64,
}import "golang.org/x/sys/windows"
type RAS_PORT_2 struct {
hPort uintptr
hConnection uintptr
dwConn_State uint32
wszPortName [17]uint16
wszMediaName [17]uint16
wszDeviceName [129]uint16
wszDeviceType [17]uint16
dwHardwareCondition int32
dwLineSpeed uint32
dwCrcErr uint32
dwSerialOverRunErrs uint32
dwTimeoutErr uint32
dwAlignmentErr uint32
dwHardwareOverrunErr uint32
dwFramingErr uint32
dwBufferOverrunErr uint32
dwCompressionRatioIn uint32
dwCompressionRatioOut uint32
dwTotalErrors uint32
ullBytesXmited uint64
ullBytesRcved uint64
ullFramesXmited uint64
ullFramesRcved uint64
ullBytesTxUncompressed uint64
ullBytesTxCompressed uint64
ullBytesRcvUncompressed uint64
ullBytesRcvCompressed uint64
}type
RAS_PORT_2 = record
hPort: Pointer;
hConnection: Pointer;
dwConn_State: DWORD;
wszPortName: array[0..16] of WideChar;
wszMediaName: array[0..16] of WideChar;
wszDeviceName: array[0..128] of WideChar;
wszDeviceType: array[0..16] of WideChar;
dwHardwareCondition: Integer;
dwLineSpeed: DWORD;
dwCrcErr: DWORD;
dwSerialOverRunErrs: DWORD;
dwTimeoutErr: DWORD;
dwAlignmentErr: DWORD;
dwHardwareOverrunErr: DWORD;
dwFramingErr: DWORD;
dwBufferOverrunErr: DWORD;
dwCompressionRatioIn: DWORD;
dwCompressionRatioOut: DWORD;
dwTotalErrors: DWORD;
ullBytesXmited: UInt64;
ullBytesRcved: UInt64;
ullFramesXmited: UInt64;
ullFramesRcved: UInt64;
ullBytesTxUncompressed: UInt64;
ullBytesTxCompressed: UInt64;
ullBytesRcvUncompressed: UInt64;
ullBytesRcvCompressed: UInt64;
end;const RAS_PORT_2 = extern struct {
hPort: ?*anyopaque,
hConnection: ?*anyopaque,
dwConn_State: u32,
wszPortName: [17]u16,
wszMediaName: [17]u16,
wszDeviceName: [129]u16,
wszDeviceType: [17]u16,
dwHardwareCondition: i32,
dwLineSpeed: u32,
dwCrcErr: u32,
dwSerialOverRunErrs: u32,
dwTimeoutErr: u32,
dwAlignmentErr: u32,
dwHardwareOverrunErr: u32,
dwFramingErr: u32,
dwBufferOverrunErr: u32,
dwCompressionRatioIn: u32,
dwCompressionRatioOut: u32,
dwTotalErrors: u32,
ullBytesXmited: u64,
ullBytesRcved: u64,
ullFramesXmited: u64,
ullFramesRcved: u64,
ullBytesTxUncompressed: u64,
ullBytesTxCompressed: u64,
ullBytesRcvUncompressed: u64,
ullBytesRcvCompressed: u64,
};type
RAS_PORT_2 {.bycopy.} = object
hPort: pointer
hConnection: pointer
dwConn_State: uint32
wszPortName: array[17, uint16]
wszMediaName: array[17, uint16]
wszDeviceName: array[129, uint16]
wszDeviceType: array[17, uint16]
dwHardwareCondition: int32
dwLineSpeed: uint32
dwCrcErr: uint32
dwSerialOverRunErrs: uint32
dwTimeoutErr: uint32
dwAlignmentErr: uint32
dwHardwareOverrunErr: uint32
dwFramingErr: uint32
dwBufferOverrunErr: uint32
dwCompressionRatioIn: uint32
dwCompressionRatioOut: uint32
dwTotalErrors: uint32
ullBytesXmited: uint64
ullBytesRcved: uint64
ullFramesXmited: uint64
ullFramesRcved: uint64
ullBytesTxUncompressed: uint64
ullBytesTxCompressed: uint64
ullBytesRcvUncompressed: uint64
ullBytesRcvCompressed: uint64struct RAS_PORT_2
{
void* hPort;
void* hConnection;
uint dwConn_State;
wchar[17] wszPortName;
wchar[17] wszMediaName;
wchar[129] wszDeviceName;
wchar[17] wszDeviceType;
int dwHardwareCondition;
uint dwLineSpeed;
uint dwCrcErr;
uint dwSerialOverRunErrs;
uint dwTimeoutErr;
uint dwAlignmentErr;
uint dwHardwareOverrunErr;
uint dwFramingErr;
uint dwBufferOverrunErr;
uint dwCompressionRatioIn;
uint dwCompressionRatioOut;
uint dwTotalErrors;
ulong ullBytesXmited;
ulong ullBytesRcved;
ulong ullFramesXmited;
ulong ullFramesRcved;
ulong ullBytesTxUncompressed;
ulong ullBytesTxCompressed;
ulong ullBytesRcvUncompressed;
ulong ullBytesRcvCompressed;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; RAS_PORT_2 サイズ: 488 バイト(x86)
dim st, 122 ; 4byte整数×122(構造体サイズ 488 / 4 切り上げ)
; hPort : HANDLE (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; hConnection : HANDLE (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; dwConn_State : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; wszPortName : WCHAR (+12, 34byte) varptr(st)+12 を基点に操作(34byte:入れ子/配列)
; wszMediaName : WCHAR (+46, 34byte) varptr(st)+46 を基点に操作(34byte:入れ子/配列)
; wszDeviceName : WCHAR (+80, 258byte) varptr(st)+80 を基点に操作(258byte:入れ子/配列)
; wszDeviceType : WCHAR (+338, 34byte) varptr(st)+338 を基点に操作(34byte:入れ子/配列)
; dwHardwareCondition : RAS_HARDWARE_CONDITION (+372, 4byte) st.93 = 値 / 値 = st.93 (lpoke/lpeek も可)
; dwLineSpeed : DWORD (+376, 4byte) st.94 = 値 / 値 = st.94 (lpoke/lpeek も可)
; dwCrcErr : DWORD (+380, 4byte) st.95 = 値 / 値 = st.95 (lpoke/lpeek も可)
; dwSerialOverRunErrs : DWORD (+384, 4byte) st.96 = 値 / 値 = st.96 (lpoke/lpeek も可)
; dwTimeoutErr : DWORD (+388, 4byte) st.97 = 値 / 値 = st.97 (lpoke/lpeek も可)
; dwAlignmentErr : DWORD (+392, 4byte) st.98 = 値 / 値 = st.98 (lpoke/lpeek も可)
; dwHardwareOverrunErr : DWORD (+396, 4byte) st.99 = 値 / 値 = st.99 (lpoke/lpeek も可)
; dwFramingErr : DWORD (+400, 4byte) st.100 = 値 / 値 = st.100 (lpoke/lpeek も可)
; dwBufferOverrunErr : DWORD (+404, 4byte) st.101 = 値 / 値 = st.101 (lpoke/lpeek も可)
; dwCompressionRatioIn : DWORD (+408, 4byte) st.102 = 値 / 値 = st.102 (lpoke/lpeek も可)
; dwCompressionRatioOut : DWORD (+412, 4byte) st.103 = 値 / 値 = st.103 (lpoke/lpeek も可)
; dwTotalErrors : DWORD (+416, 4byte) st.104 = 値 / 値 = st.104 (lpoke/lpeek も可)
; ullBytesXmited : ULONGLONG (+424, 8byte) qpoke st,424,値 / qpeek(st,424) ※IronHSPのみ。3.7/3.8は lpoke st,424,下位 : lpoke st,428,上位
; ullBytesRcved : ULONGLONG (+432, 8byte) qpoke st,432,値 / qpeek(st,432) ※IronHSPのみ。3.7/3.8は lpoke st,432,下位 : lpoke st,436,上位
; ullFramesXmited : ULONGLONG (+440, 8byte) qpoke st,440,値 / qpeek(st,440) ※IronHSPのみ。3.7/3.8は lpoke st,440,下位 : lpoke st,444,上位
; ullFramesRcved : ULONGLONG (+448, 8byte) qpoke st,448,値 / qpeek(st,448) ※IronHSPのみ。3.7/3.8は lpoke st,448,下位 : lpoke st,452,上位
; ullBytesTxUncompressed : ULONGLONG (+456, 8byte) qpoke st,456,値 / qpeek(st,456) ※IronHSPのみ。3.7/3.8は lpoke st,456,下位 : lpoke st,460,上位
; ullBytesTxCompressed : ULONGLONG (+464, 8byte) qpoke st,464,値 / qpeek(st,464) ※IronHSPのみ。3.7/3.8は lpoke st,464,下位 : lpoke st,468,上位
; ullBytesRcvUncompressed : ULONGLONG (+472, 8byte) qpoke st,472,値 / qpeek(st,472) ※IronHSPのみ。3.7/3.8は lpoke st,472,下位 : lpoke st,476,上位
; ullBytesRcvCompressed : ULONGLONG (+480, 8byte) qpoke st,480,値 / qpeek(st,480) ※IronHSPのみ。3.7/3.8は lpoke st,480,下位 : lpoke st,484,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; RAS_PORT_2 サイズ: 496 バイト(x64)
dim st, 124 ; 4byte整数×124(構造体サイズ 496 / 4 切り上げ)
; hPort : HANDLE (+0, 8byte) qpoke st,0,値 / qpeek(st,0) ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; hConnection : HANDLE (+8, 8byte) qpoke st,8,値 / qpeek(st,8) ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; dwConn_State : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; wszPortName : WCHAR (+20, 34byte) varptr(st)+20 を基点に操作(34byte:入れ子/配列)
; wszMediaName : WCHAR (+54, 34byte) varptr(st)+54 を基点に操作(34byte:入れ子/配列)
; wszDeviceName : WCHAR (+88, 258byte) varptr(st)+88 を基点に操作(258byte:入れ子/配列)
; wszDeviceType : WCHAR (+346, 34byte) varptr(st)+346 を基点に操作(34byte:入れ子/配列)
; dwHardwareCondition : RAS_HARDWARE_CONDITION (+380, 4byte) st.95 = 値 / 値 = st.95 (lpoke/lpeek も可)
; dwLineSpeed : DWORD (+384, 4byte) st.96 = 値 / 値 = st.96 (lpoke/lpeek も可)
; dwCrcErr : DWORD (+388, 4byte) st.97 = 値 / 値 = st.97 (lpoke/lpeek も可)
; dwSerialOverRunErrs : DWORD (+392, 4byte) st.98 = 値 / 値 = st.98 (lpoke/lpeek も可)
; dwTimeoutErr : DWORD (+396, 4byte) st.99 = 値 / 値 = st.99 (lpoke/lpeek も可)
; dwAlignmentErr : DWORD (+400, 4byte) st.100 = 値 / 値 = st.100 (lpoke/lpeek も可)
; dwHardwareOverrunErr : DWORD (+404, 4byte) st.101 = 値 / 値 = st.101 (lpoke/lpeek も可)
; dwFramingErr : DWORD (+408, 4byte) st.102 = 値 / 値 = st.102 (lpoke/lpeek も可)
; dwBufferOverrunErr : DWORD (+412, 4byte) st.103 = 値 / 値 = st.103 (lpoke/lpeek も可)
; dwCompressionRatioIn : DWORD (+416, 4byte) st.104 = 値 / 値 = st.104 (lpoke/lpeek も可)
; dwCompressionRatioOut : DWORD (+420, 4byte) st.105 = 値 / 値 = st.105 (lpoke/lpeek も可)
; dwTotalErrors : DWORD (+424, 4byte) st.106 = 値 / 値 = st.106 (lpoke/lpeek も可)
; ullBytesXmited : ULONGLONG (+432, 8byte) qpoke st,432,値 / qpeek(st,432) ※IronHSPのみ。3.7/3.8は lpoke st,432,下位 : lpoke st,436,上位
; ullBytesRcved : ULONGLONG (+440, 8byte) qpoke st,440,値 / qpeek(st,440) ※IronHSPのみ。3.7/3.8は lpoke st,440,下位 : lpoke st,444,上位
; ullFramesXmited : ULONGLONG (+448, 8byte) qpoke st,448,値 / qpeek(st,448) ※IronHSPのみ。3.7/3.8は lpoke st,448,下位 : lpoke st,452,上位
; ullFramesRcved : ULONGLONG (+456, 8byte) qpoke st,456,値 / qpeek(st,456) ※IronHSPのみ。3.7/3.8は lpoke st,456,下位 : lpoke st,460,上位
; ullBytesTxUncompressed : ULONGLONG (+464, 8byte) qpoke st,464,値 / qpeek(st,464) ※IronHSPのみ。3.7/3.8は lpoke st,464,下位 : lpoke st,468,上位
; ullBytesTxCompressed : ULONGLONG (+472, 8byte) qpoke st,472,値 / qpeek(st,472) ※IronHSPのみ。3.7/3.8は lpoke st,472,下位 : lpoke st,476,上位
; ullBytesRcvUncompressed : ULONGLONG (+480, 8byte) qpoke st,480,値 / qpeek(st,480) ※IronHSPのみ。3.7/3.8は lpoke st,480,下位 : lpoke st,484,上位
; ullBytesRcvCompressed : 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 RAS_PORT_2
#field intptr hPort
#field intptr hConnection
#field int dwConn_State
#field wchar wszPortName 17
#field wchar wszMediaName 17
#field wchar wszDeviceName 129
#field wchar wszDeviceType 17
#field int dwHardwareCondition
#field int dwLineSpeed
#field int dwCrcErr
#field int dwSerialOverRunErrs
#field int dwTimeoutErr
#field int dwAlignmentErr
#field int dwHardwareOverrunErr
#field int dwFramingErr
#field int dwBufferOverrunErr
#field int dwCompressionRatioIn
#field int dwCompressionRatioOut
#field int dwTotalErrors
#field int64 ullBytesXmited
#field int64 ullBytesRcved
#field int64 ullFramesXmited
#field int64 ullFramesRcved
#field int64 ullBytesTxUncompressed
#field int64 ullBytesTxCompressed
#field int64 ullBytesRcvUncompressed
#field int64 ullBytesRcvCompressed
#endstruct
stdim st, RAS_PORT_2 ; NSTRUCT 変数を確保
st->dwConn_State = 100
mes "dwConn_State=" + st->dwConn_State