ホーム › NetworkManagement.WindowsFilteringPlatform › IKEEXT_STATISTICS1
IKEEXT_STATISTICS1
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| ikeStatistics | IKEEXT_KEYMODULE_STATISTICS1 | 544 | +0 | +0 | IKEプロトコルの鍵モジュール統計。 |
| authipStatistics | IKEEXT_KEYMODULE_STATISTICS1 | 544 | +544 | +544 | AuthIPプロトコルの鍵モジュール統計。 |
| ikeV2Statistics | IKEEXT_KEYMODULE_STATISTICS1 | 544 | +1088 | +1088 | IKEv2プロトコルの鍵モジュール統計。 |
| commonStatistics | IKEEXT_COMMON_STATISTICS1 | 28 | +1632 | +1632 | プロトコル共通の統計情報。 |
各言語での定義
#include <windows.h>
// IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 (x64 72 / x86 72 バイト)
typedef struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
DWORD currentActiveMainModes;
DWORD totalMainModesStarted;
DWORD totalSuccessfulMainModes;
DWORD totalFailedMainModes;
DWORD totalResponderMainModes;
DWORD currentNewResponderMainModes;
DWORD currentActiveQuickModes;
DWORD totalQuickModesStarted;
DWORD totalSuccessfulQuickModes;
DWORD totalFailedQuickModes;
DWORD totalAcquires;
DWORD totalReinitAcquires;
DWORD currentActiveExtendedModes;
DWORD totalExtendedModesStarted;
DWORD totalSuccessfulExtendedModes;
DWORD totalFailedExtendedModes;
DWORD totalImpersonationExtendedModes;
DWORD totalImpersonationMainModes;
} IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1;
// IKEEXT_KEYMODULE_STATISTICS1 (x64 544 / x86 544 バイト)
typedef struct IKEEXT_KEYMODULE_STATISTICS1 {
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics;
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics;
DWORD errorFrequencyTable[97];
DWORD mainModeNegotiationTime;
DWORD quickModeNegotiationTime;
DWORD extendedModeNegotiationTime;
} IKEEXT_KEYMODULE_STATISTICS1;
// IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 (x64 8 / x86 8 バイト)
typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
DWORD totalSocketReceiveFailures;
DWORD totalSocketSendFailures;
} IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1;
// IKEEXT_COMMON_STATISTICS1 (x64 28 / x86 28 バイト)
typedef struct IKEEXT_COMMON_STATISTICS1 {
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics;
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics;
DWORD totalPacketsReceived;
DWORD totalInvalidPacketsReceived;
DWORD currentQueuedWorkitems;
} IKEEXT_COMMON_STATISTICS1;
// IKEEXT_STATISTICS1 (x64 1660 / x86 1660 バイト)
typedef struct IKEEXT_STATISTICS1 {
IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics;
IKEEXT_KEYMODULE_STATISTICS1 authipStatistics;
IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics;
IKEEXT_COMMON_STATISTICS1 commonStatistics;
} IKEEXT_STATISTICS1;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
{
public uint currentActiveMainModes;
public uint totalMainModesStarted;
public uint totalSuccessfulMainModes;
public uint totalFailedMainModes;
public uint totalResponderMainModes;
public uint currentNewResponderMainModes;
public uint currentActiveQuickModes;
public uint totalQuickModesStarted;
public uint totalSuccessfulQuickModes;
public uint totalFailedQuickModes;
public uint totalAcquires;
public uint totalReinitAcquires;
public uint currentActiveExtendedModes;
public uint totalExtendedModesStarted;
public uint totalSuccessfulExtendedModes;
public uint totalFailedExtendedModes;
public uint totalImpersonationExtendedModes;
public uint totalImpersonationMainModes;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IKEEXT_KEYMODULE_STATISTICS1
{
public IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics;
public IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 97)] public uint[] errorFrequencyTable;
public uint mainModeNegotiationTime;
public uint quickModeNegotiationTime;
public uint extendedModeNegotiationTime;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
{
public uint totalSocketReceiveFailures;
public uint totalSocketSendFailures;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IKEEXT_COMMON_STATISTICS1
{
public IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics;
public IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics;
public uint totalPacketsReceived;
public uint totalInvalidPacketsReceived;
public uint currentQueuedWorkitems;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IKEEXT_STATISTICS1
{
public IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics;
public IKEEXT_KEYMODULE_STATISTICS1 authipStatistics;
public IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics;
public IKEEXT_COMMON_STATISTICS1 commonStatistics;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
Public currentActiveMainModes As UInteger
Public totalMainModesStarted As UInteger
Public totalSuccessfulMainModes As UInteger
Public totalFailedMainModes As UInteger
Public totalResponderMainModes As UInteger
Public currentNewResponderMainModes As UInteger
Public currentActiveQuickModes As UInteger
Public totalQuickModesStarted As UInteger
Public totalSuccessfulQuickModes As UInteger
Public totalFailedQuickModes As UInteger
Public totalAcquires As UInteger
Public totalReinitAcquires As UInteger
Public currentActiveExtendedModes As UInteger
Public totalExtendedModesStarted As UInteger
Public totalSuccessfulExtendedModes As UInteger
Public totalFailedExtendedModes As UInteger
Public totalImpersonationExtendedModes As UInteger
Public totalImpersonationMainModes As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure IKEEXT_KEYMODULE_STATISTICS1
Public v4Statistics As IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
Public v6Statistics As IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=97)> Public errorFrequencyTable() As UInteger
Public mainModeNegotiationTime As UInteger
Public quickModeNegotiationTime As UInteger
Public extendedModeNegotiationTime As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
Public totalSocketReceiveFailures As UInteger
Public totalSocketSendFailures As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure IKEEXT_COMMON_STATISTICS1
Public v4Statistics As IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
Public v6Statistics As IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
Public totalPacketsReceived As UInteger
Public totalInvalidPacketsReceived As UInteger
Public currentQueuedWorkitems As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure IKEEXT_STATISTICS1
Public ikeStatistics As IKEEXT_KEYMODULE_STATISTICS1
Public authipStatistics As IKEEXT_KEYMODULE_STATISTICS1
Public ikeV2Statistics As IKEEXT_KEYMODULE_STATISTICS1
Public commonStatistics As IKEEXT_COMMON_STATISTICS1
End Structureimport ctypes
from ctypes import wintypes
class IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1(ctypes.Structure):
_fields_ = [
("currentActiveMainModes", wintypes.DWORD),
("totalMainModesStarted", wintypes.DWORD),
("totalSuccessfulMainModes", wintypes.DWORD),
("totalFailedMainModes", wintypes.DWORD),
("totalResponderMainModes", wintypes.DWORD),
("currentNewResponderMainModes", wintypes.DWORD),
("currentActiveQuickModes", wintypes.DWORD),
("totalQuickModesStarted", wintypes.DWORD),
("totalSuccessfulQuickModes", wintypes.DWORD),
("totalFailedQuickModes", wintypes.DWORD),
("totalAcquires", wintypes.DWORD),
("totalReinitAcquires", wintypes.DWORD),
("currentActiveExtendedModes", wintypes.DWORD),
("totalExtendedModesStarted", wintypes.DWORD),
("totalSuccessfulExtendedModes", wintypes.DWORD),
("totalFailedExtendedModes", wintypes.DWORD),
("totalImpersonationExtendedModes", wintypes.DWORD),
("totalImpersonationMainModes", wintypes.DWORD),
]
class IKEEXT_KEYMODULE_STATISTICS1(ctypes.Structure):
_fields_ = [
("v4Statistics", IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1),
("v6Statistics", IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1),
("errorFrequencyTable", wintypes.DWORD * 97),
("mainModeNegotiationTime", wintypes.DWORD),
("quickModeNegotiationTime", wintypes.DWORD),
("extendedModeNegotiationTime", wintypes.DWORD),
]
class IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1(ctypes.Structure):
_fields_ = [
("totalSocketReceiveFailures", wintypes.DWORD),
("totalSocketSendFailures", wintypes.DWORD),
]
class IKEEXT_COMMON_STATISTICS1(ctypes.Structure):
_fields_ = [
("v4Statistics", IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1),
("v6Statistics", IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1),
("totalPacketsReceived", wintypes.DWORD),
("totalInvalidPacketsReceived", wintypes.DWORD),
("currentQueuedWorkitems", wintypes.DWORD),
]
class IKEEXT_STATISTICS1(ctypes.Structure):
_fields_ = [
("ikeStatistics", IKEEXT_KEYMODULE_STATISTICS1),
("authipStatistics", IKEEXT_KEYMODULE_STATISTICS1),
("ikeV2Statistics", IKEEXT_KEYMODULE_STATISTICS1),
("commonStatistics", IKEEXT_COMMON_STATISTICS1),
]#[repr(C)]
pub struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
pub currentActiveMainModes: u32,
pub totalMainModesStarted: u32,
pub totalSuccessfulMainModes: u32,
pub totalFailedMainModes: u32,
pub totalResponderMainModes: u32,
pub currentNewResponderMainModes: u32,
pub currentActiveQuickModes: u32,
pub totalQuickModesStarted: u32,
pub totalSuccessfulQuickModes: u32,
pub totalFailedQuickModes: u32,
pub totalAcquires: u32,
pub totalReinitAcquires: u32,
pub currentActiveExtendedModes: u32,
pub totalExtendedModesStarted: u32,
pub totalSuccessfulExtendedModes: u32,
pub totalFailedExtendedModes: u32,
pub totalImpersonationExtendedModes: u32,
pub totalImpersonationMainModes: u32,
}
#[repr(C)]
pub struct IKEEXT_KEYMODULE_STATISTICS1 {
pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
pub errorFrequencyTable: [u32; 97],
pub mainModeNegotiationTime: u32,
pub quickModeNegotiationTime: u32,
pub extendedModeNegotiationTime: u32,
}
#[repr(C)]
pub struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
pub totalSocketReceiveFailures: u32,
pub totalSocketSendFailures: u32,
}
#[repr(C)]
pub struct IKEEXT_COMMON_STATISTICS1 {
pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
pub totalPacketsReceived: u32,
pub totalInvalidPacketsReceived: u32,
pub currentQueuedWorkitems: u32,
}
#[repr(C)]
pub struct IKEEXT_STATISTICS1 {
pub ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1,
pub authipStatistics: IKEEXT_KEYMODULE_STATISTICS1,
pub ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1,
pub commonStatistics: IKEEXT_COMMON_STATISTICS1,
}import "golang.org/x/sys/windows"
type IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 struct {
currentActiveMainModes uint32
totalMainModesStarted uint32
totalSuccessfulMainModes uint32
totalFailedMainModes uint32
totalResponderMainModes uint32
currentNewResponderMainModes uint32
currentActiveQuickModes uint32
totalQuickModesStarted uint32
totalSuccessfulQuickModes uint32
totalFailedQuickModes uint32
totalAcquires uint32
totalReinitAcquires uint32
currentActiveExtendedModes uint32
totalExtendedModesStarted uint32
totalSuccessfulExtendedModes uint32
totalFailedExtendedModes uint32
totalImpersonationExtendedModes uint32
totalImpersonationMainModes uint32
}
type IKEEXT_KEYMODULE_STATISTICS1 struct {
v4Statistics IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
v6Statistics IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
errorFrequencyTable [97]uint32
mainModeNegotiationTime uint32
quickModeNegotiationTime uint32
extendedModeNegotiationTime uint32
}
type IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 struct {
totalSocketReceiveFailures uint32
totalSocketSendFailures uint32
}
type IKEEXT_COMMON_STATISTICS1 struct {
v4Statistics IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
v6Statistics IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
totalPacketsReceived uint32
totalInvalidPacketsReceived uint32
currentQueuedWorkitems uint32
}
type IKEEXT_STATISTICS1 struct {
ikeStatistics IKEEXT_KEYMODULE_STATISTICS1
authipStatistics IKEEXT_KEYMODULE_STATISTICS1
ikeV2Statistics IKEEXT_KEYMODULE_STATISTICS1
commonStatistics IKEEXT_COMMON_STATISTICS1
}type
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 = record
currentActiveMainModes: DWORD;
totalMainModesStarted: DWORD;
totalSuccessfulMainModes: DWORD;
totalFailedMainModes: DWORD;
totalResponderMainModes: DWORD;
currentNewResponderMainModes: DWORD;
currentActiveQuickModes: DWORD;
totalQuickModesStarted: DWORD;
totalSuccessfulQuickModes: DWORD;
totalFailedQuickModes: DWORD;
totalAcquires: DWORD;
totalReinitAcquires: DWORD;
currentActiveExtendedModes: DWORD;
totalExtendedModesStarted: DWORD;
totalSuccessfulExtendedModes: DWORD;
totalFailedExtendedModes: DWORD;
totalImpersonationExtendedModes: DWORD;
totalImpersonationMainModes: DWORD;
end;
IKEEXT_KEYMODULE_STATISTICS1 = record
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1;
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1;
errorFrequencyTable: array[0..96] of DWORD;
mainModeNegotiationTime: DWORD;
quickModeNegotiationTime: DWORD;
extendedModeNegotiationTime: DWORD;
end;
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 = record
totalSocketReceiveFailures: DWORD;
totalSocketSendFailures: DWORD;
end;
IKEEXT_COMMON_STATISTICS1 = record
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1;
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1;
totalPacketsReceived: DWORD;
totalInvalidPacketsReceived: DWORD;
currentQueuedWorkitems: DWORD;
end;
IKEEXT_STATISTICS1 = record
ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1;
authipStatistics: IKEEXT_KEYMODULE_STATISTICS1;
ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1;
commonStatistics: IKEEXT_COMMON_STATISTICS1;
end;const IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 = extern struct {
currentActiveMainModes: u32,
totalMainModesStarted: u32,
totalSuccessfulMainModes: u32,
totalFailedMainModes: u32,
totalResponderMainModes: u32,
currentNewResponderMainModes: u32,
currentActiveQuickModes: u32,
totalQuickModesStarted: u32,
totalSuccessfulQuickModes: u32,
totalFailedQuickModes: u32,
totalAcquires: u32,
totalReinitAcquires: u32,
currentActiveExtendedModes: u32,
totalExtendedModesStarted: u32,
totalSuccessfulExtendedModes: u32,
totalFailedExtendedModes: u32,
totalImpersonationExtendedModes: u32,
totalImpersonationMainModes: u32,
};
const IKEEXT_KEYMODULE_STATISTICS1 = extern struct {
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
errorFrequencyTable: [97]u32,
mainModeNegotiationTime: u32,
quickModeNegotiationTime: u32,
extendedModeNegotiationTime: u32,
};
const IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 = extern struct {
totalSocketReceiveFailures: u32,
totalSocketSendFailures: u32,
};
const IKEEXT_COMMON_STATISTICS1 = extern struct {
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
totalPacketsReceived: u32,
totalInvalidPacketsReceived: u32,
currentQueuedWorkitems: u32,
};
const IKEEXT_STATISTICS1 = extern struct {
ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1,
authipStatistics: IKEEXT_KEYMODULE_STATISTICS1,
ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1,
commonStatistics: IKEEXT_COMMON_STATISTICS1,
};type
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {.bycopy.} = object
currentActiveMainModes: uint32
totalMainModesStarted: uint32
totalSuccessfulMainModes: uint32
totalFailedMainModes: uint32
totalResponderMainModes: uint32
currentNewResponderMainModes: uint32
currentActiveQuickModes: uint32
totalQuickModesStarted: uint32
totalSuccessfulQuickModes: uint32
totalFailedQuickModes: uint32
totalAcquires: uint32
totalReinitAcquires: uint32
currentActiveExtendedModes: uint32
totalExtendedModesStarted: uint32
totalSuccessfulExtendedModes: uint32
totalFailedExtendedModes: uint32
totalImpersonationExtendedModes: uint32
totalImpersonationMainModes: uint32
IKEEXT_KEYMODULE_STATISTICS1 {.bycopy.} = object
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
errorFrequencyTable: array[97, uint32]
mainModeNegotiationTime: uint32
quickModeNegotiationTime: uint32
extendedModeNegotiationTime: uint32
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {.bycopy.} = object
totalSocketReceiveFailures: uint32
totalSocketSendFailures: uint32
IKEEXT_COMMON_STATISTICS1 {.bycopy.} = object
v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
totalPacketsReceived: uint32
totalInvalidPacketsReceived: uint32
currentQueuedWorkitems: uint32
IKEEXT_STATISTICS1 {.bycopy.} = object
ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1
authipStatistics: IKEEXT_KEYMODULE_STATISTICS1
ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1
commonStatistics: IKEEXT_COMMON_STATISTICS1struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
{
uint currentActiveMainModes;
uint totalMainModesStarted;
uint totalSuccessfulMainModes;
uint totalFailedMainModes;
uint totalResponderMainModes;
uint currentNewResponderMainModes;
uint currentActiveQuickModes;
uint totalQuickModesStarted;
uint totalSuccessfulQuickModes;
uint totalFailedQuickModes;
uint totalAcquires;
uint totalReinitAcquires;
uint currentActiveExtendedModes;
uint totalExtendedModesStarted;
uint totalSuccessfulExtendedModes;
uint totalFailedExtendedModes;
uint totalImpersonationExtendedModes;
uint totalImpersonationMainModes;
}
struct IKEEXT_KEYMODULE_STATISTICS1
{
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics;
IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics;
uint[97] errorFrequencyTable;
uint mainModeNegotiationTime;
uint quickModeNegotiationTime;
uint extendedModeNegotiationTime;
}
struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
{
uint totalSocketReceiveFailures;
uint totalSocketSendFailures;
}
struct IKEEXT_COMMON_STATISTICS1
{
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics;
IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics;
uint totalPacketsReceived;
uint totalInvalidPacketsReceived;
uint currentQueuedWorkitems;
}
struct IKEEXT_STATISTICS1
{
IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics;
IKEEXT_KEYMODULE_STATISTICS1 authipStatistics;
IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics;
IKEEXT_COMMON_STATISTICS1 commonStatistics;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; IKEEXT_STATISTICS1 サイズ: 1660 バイト(x64)
dim st, 415 ; 4byte整数×415(構造体サイズ 1660 / 4 切り上げ)
; ikeStatistics : IKEEXT_KEYMODULE_STATISTICS1 (+0, 544byte) varptr(st)+0 を基点に操作(544byte:入れ子/配列)
; authipStatistics : IKEEXT_KEYMODULE_STATISTICS1 (+544, 544byte) varptr(st)+544 を基点に操作(544byte:入れ子/配列)
; ikeV2Statistics : IKEEXT_KEYMODULE_STATISTICS1 (+1088, 544byte) varptr(st)+1088 を基点に操作(544byte:入れ子/配列)
; commonStatistics : IKEEXT_COMMON_STATISTICS1 (+1632, 28byte) varptr(st)+1632 を基点に操作(28byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1
#field int currentActiveMainModes
#field int totalMainModesStarted
#field int totalSuccessfulMainModes
#field int totalFailedMainModes
#field int totalResponderMainModes
#field int currentNewResponderMainModes
#field int currentActiveQuickModes
#field int totalQuickModesStarted
#field int totalSuccessfulQuickModes
#field int totalFailedQuickModes
#field int totalAcquires
#field int totalReinitAcquires
#field int currentActiveExtendedModes
#field int totalExtendedModesStarted
#field int totalSuccessfulExtendedModes
#field int totalFailedExtendedModes
#field int totalImpersonationExtendedModes
#field int totalImpersonationMainModes
#endstruct
#defstruct global IKEEXT_KEYMODULE_STATISTICS1
#field IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics
#field IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics
#field int errorFrequencyTable 97
#field int mainModeNegotiationTime
#field int quickModeNegotiationTime
#field int extendedModeNegotiationTime
#endstruct
#defstruct global IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1
#field int totalSocketReceiveFailures
#field int totalSocketSendFailures
#endstruct
#defstruct global IKEEXT_COMMON_STATISTICS1
#field IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics
#field IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics
#field int totalPacketsReceived
#field int totalInvalidPacketsReceived
#field int currentQueuedWorkitems
#endstruct
#defstruct global IKEEXT_STATISTICS1
#field IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics
#field IKEEXT_KEYMODULE_STATISTICS1 authipStatistics
#field IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics
#field IKEEXT_COMMON_STATISTICS1 commonStatistics
#endstruct
stdim st, IKEEXT_STATISTICS1 ; NSTRUCT 変数を確保